5

I am trying to compile my game project using Clion IDE but I have a problem when porting allegro 5. I get this error:

main.cpp:2:10: fatal error: 'allegro/allegro.h' file not found
   #include <allegro/allegro.h>

My CMakeLists is:

cmake_minimum_required(VERSION 3.5)
project(testAllegro)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(testAllegro ${SOURCE_FILES})

INCLUDE_DIRECTORIES(  /usr/local/include )
LINK_DIRECTORIES(  /usr/local/lib )

file(GLOB LIBRARIES "/usr/local/Cellar/allegro/5.2.1.1_1/lib/*.dylib")
message("LIBRARIES = ${LIBRARIES}")

TARGET_LINK_LIBRARIES(testAllegro  ${LIBRARIES})

Just I want to ask how can I add external Library allegro to Clion?

rocambille
  • 15,398
  • 12
  • 50
  • 68
NinjaDeveloper
  • 1,620
  • 3
  • 19
  • 51
  • Where is located your file `allegro/allegro.h`? I guess it is not in `/usr/local/include`. Do you have any package installed for allegro? A file called `findallegro.cmake`, `allegroConfig.cmake`, or `allegro-config.cmake`? – rocambille Oct 27 '16 at 07:22
  • As libraries are searched under `/usr/local/Cellar/allegro/`, header files are located there too. So, you have to issue `include_directories` command with appropriate path. – Tsyvarev Oct 27 '16 at 07:37
  • Hi @Tsyvarev I used homebrew to install allegro [link](https://wiki.allegro.cc/index.php?title=Installing_with_homebrew) and it is say " Allegro should be installed into /usr/local/lib and /usr/local/include." – NinjaDeveloper Oct 27 '16 at 12:49
  • If so, why do you use libraries under `/usr/local/Cellar/allegro/` for link with? – Tsyvarev Oct 27 '16 at 12:53

1 Answers1

13

when you install allegro using homebrew link

use this cmake to compile clion project

cmake_minimum_required(VERSION 3.5)
project(testAllegro)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(testAllegro ${SOURCE_FILES})

INCLUDE_DIRECTORIES(  /usr/local/Cellar/allegro/5.2.1.1_1/include )
LINK_DIRECTORIES(  /usr/local/Cellar/allegro/5.2.1.1_1/lib )

file(GLOB LIBRARIES "/usr/local/Cellar/allegro/5.2.1.1_1/lib/*.dylib")
message("LIBRARIES = ${LIBRARIES}")

TARGET_LINK_LIBRARIES(testAllegro  ${LIBRARIES})
NinjaDeveloper
  • 1,620
  • 3
  • 19
  • 51