diff --git a/CMakeLists.txt b/CMakeLists.txt index 6880416..664075e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,8 +187,6 @@ endif(UNIX OR APPLE) # Various options we could use option(USE_LLVM_GOLD "If clang is specified, use LLVM Gold optimizations" OFF) - - # Set the install directory for the .so's set(BASEGAME "main") @@ -208,7 +206,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "DEMO" OR CMAKE_BUILD_TYPE STREQUAL "RELEASE") if(CMAKE_C_COMPILER_ID STREQUAL "Clang") if(${USE_LLVM_GOLD}) # Attempt to use LLVM Gold and optimize the fuck out of this code - set(CXXFLAGS "${CXXFLAGS} -O4 -ffast-math -fsigned-char -emit-llvm") + set(CXXFLAGS "${CXXFLAGS} -O4 -ffast-math -fsigned-char -emit-llvm") else(${USE_LLVM_GOLD}) # Use normal optimizations that clang offers set(CXXFLAGS "${CXXFLAGS} -O3 -ffast-math -fsigned-char") @@ -225,6 +223,35 @@ if(CMAKE_BUILD_TYPE STREQUAL "DEMO" OR CMAKE_BUILD_TYPE STREQUAL "RELEASE") endif(CMAKE_BUILD_TYPE STREQUAL "DEMO") endif(CMAKE_BUILD_TYPE STREQUAL "DEMO" OR CMAKE_BUILD_TYPE STREQUAL "RELEASE") +if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND ${USE_LLVM_GOLD}) + #SET (CMAKE_C_COMPILER "/usr/bin/clang") + SET (CMAKE_C_FLAGS "-Wall -std=c99") + SET (CMAKE_C_FLAGS_DEBUG "-g") + SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG") + SET (CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG") + SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") + + SET (CMAKE_CXX_COMPILER "/usr/bin/clang++") + SET (CMAKE_CXX_FLAGS "-Wall -std=c++11 -stdlib=c++11") + SET (CMAKE_CXX_FLAGS_DEBUG "-g") + SET (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") + SET (CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG") + SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") + + find_program(LLVM_AR llvm-ar REQUIRED) + find_program(LLVM_LD llvm-ld REQUIRED) + find_program(LLVM_NM llvm-nm REQUIRED) + find_program(LLVM_OBJDUMP llvm-objdump REQUIRED) + find_program(LLVM_RANLIB llvm-ranlib REQUIRED) + message(STATUS "llvm-ar: ${LLVM_AR}") + + SET (CMAKE_AR "${LLVM_AR}") + SET (CMAKE_LINKER "${LLVM_LD}") + SET (CMAKE_NM "${LLVM_NM}") + SET (CMAKE_OBJDUMP "${LLVM_OBJDUMP}") + SET (CMAKE_RANLIB "${LLVM_RANLIB}") +endif(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND ${USE_LLVM_GOLD}) + # windows crap if(WIN32) add_definitions(-DWIN32 -D_WIN32) @@ -284,9 +311,9 @@ if(NOT SUDO_FOUND) endif(NOT SUDO_FOUND) # Find the required SDL libraries -find_package(SDL) -find_package(SDL_sound) -find_package(SDL_image) +find_package(SDL REQUIRED) +find_package(SDL_sound REQUIRED) +find_package(SDL_image REQUIRED) # Begin the madness! ############################################################################################# diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 358314e..0f254b0 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -78,7 +78,7 @@ add_dependencies(${PROJECT_NAME} botlib${CMAKE_STATIC_LIBRARY_SUFFIX} jpeg-6${CM # Our executable if(NOT APPLE) set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C PREFIX "" SUFFIX "") - target_link_libraries(${PROJECT_NAME} ${SDL_LIBRARY} ${SDL_IMAGE_LIBRARIES} GL dl m botlib${CMAKE_STATIC_LIBRARY_SUFFIX} jpeg-6${CMAKE_STATIC_LIBRARY_SUFFIX} splines${CMAKE_STATIC_LIBRARY_SUFFIX}) + target_link_libraries(${PROJECT_NAME} ${SDL_LIBRARY} ${SDL_IMAGE_LIBRARIES} SDL_image GL dl m botlib${CMAKE_STATIC_LIBRARY_SUFFIX} jpeg-6${CMAKE_STATIC_LIBRARY_SUFFIX} splines${CMAKE_STATIC_LIBRARY_SUFFIX}) else(NOT APPLE) set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE C PREFIX "" SUFFIX "" LINK_FLAGS "-framework Carbon -framework GLUT -framework OpenGL -framework IOKit -framework AudioToolbox -framework CoreAudio -framework CoreServices -framework Cocoa -framework EventKit") target_link_libraries(${PROJECT_NAME} ${SDL_LIBRARY} ${SDL_IMAGE_LIBRARIES} dl m botlib${CMAKE_STATIC_LIBRARY_SUFFIX} jpeg-6${CMAKE_STATIC_LIBRARY_SUFFIX} splines${CMAKE_STATIC_LIBRARY_SUFFIX})