Compare commits
6 Commits
colobot2
...
modernize-
Author | SHA1 | Date |
---|---|---|
|
bff56bdfb6 | |
|
937451a73d | |
|
d57ca161f5 | |
|
1f2f857221 | |
|
cbd2108eec | |
|
33a380daba |
|
@ -3,7 +3,7 @@
|
|||
# Contains global options and definitions
|
||||
##
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
project(colobot C CXX)
|
||||
|
||||
|
@ -305,7 +305,6 @@ find_package(GLEW REQUIRED)
|
|||
|
||||
if (OPENAL_SOUND)
|
||||
find_package(OpenAL REQUIRED)
|
||||
include_directories(${OPENAL_INCLUDE_DIR})
|
||||
find_package(LibSndFile REQUIRED)
|
||||
endif()
|
||||
|
||||
|
@ -360,7 +359,6 @@ endif()
|
|||
##
|
||||
# Localename
|
||||
##
|
||||
set(LOCALENAME_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/localename)
|
||||
add_subdirectory(lib/localename)
|
||||
|
||||
|
||||
|
@ -368,7 +366,6 @@ add_subdirectory(lib/localename)
|
|||
# Wingetopt
|
||||
##
|
||||
if(WINGETOPT)
|
||||
set(WINGETOPT_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/wingetopt/src)
|
||||
add_subdirectory(lib/wingetopt)
|
||||
endif()
|
||||
|
||||
|
@ -455,8 +452,7 @@ if(TESTS)
|
|||
|
||||
add_subdirectory(${GTEST_SRC_DIR} lib/gtest)
|
||||
|
||||
# Hippomocks library
|
||||
set(HIPPOMOCKS_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/hippomocks)
|
||||
add_subdirectory(lib/hippomocks)
|
||||
|
||||
# Tests targets
|
||||
enable_testing()
|
||||
|
|
|
@ -49,3 +49,7 @@ ELSE (GLEW_INCLUDE_PATH)
|
|||
ENDIF (GLEW_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED( GLEW_FOUND )
|
||||
|
||||
add_library(GLEW::GLEW INTERFACE IMPORTED)
|
||||
target_include_directories(GLEW::GLEW SYSTEM INTERFACE ${GLEW_INCLUDE_DIR})
|
||||
target_link_libraries(GLEW::GLEW INTERFACE ${GLEW_LIBRARY})
|
||||
|
|
|
@ -21,3 +21,7 @@ ELSE(LIBSNDFILE_FOUND)
|
|||
MESSAGE(FATAL_ERROR "Could not find sndfile")
|
||||
ENDIF(LibSndFile_FIND_REQUIRED)
|
||||
ENDIF (LIBSNDFILE_FOUND)
|
||||
|
||||
add_library(libsndfile::libsndfile INTERFACE IMPORTED)
|
||||
target_include_directories(libsndfile::libsndfile SYSTEM INTERFACE ${LIBSNDFILE_INCLUDE_DIR})
|
||||
target_link_libraries(libsndfile::libsndfile INTERFACE ${LIBSNDFILE_LIBRARY})
|
||||
|
|
|
@ -34,3 +34,7 @@ ELSE (GLEW_INCLUDE_PATH)
|
|||
ENDIF (PHYSFS_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED( PHYSFS_FOUND )
|
||||
|
||||
add_library(PhysFS::PhysFS INTERFACE IMPORTED)
|
||||
target_include_directories(PhysFS::PhysFS SYSTEM INTERFACE ${PHYSFS_INCLUDE_PATH})
|
||||
target_link_libraries(PhysFS::PhysFS INTERFACE ${PHYSFS_LIBRARY})
|
||||
|
|
|
@ -161,3 +161,7 @@ ENDIF(SDL2_LIBRARY_TEMP)
|
|||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
||||
|
||||
add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||
target_include_directories(SDL2::SDL2 SYSTEM INTERFACE ${SDL2_INCLUDE_DIR})
|
||||
target_link_libraries(SDL2::SDL2 INTERFACE ${SDL2_LIBRARY})
|
||||
|
|
|
@ -156,3 +156,6 @@ INCLUDE(FindPackageHandleStandardArgs)
|
|||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_IMAGE REQUIRED_VARS SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR)
|
||||
|
||||
add_library(SDL2_image::SDL2_image INTERFACE IMPORTED)
|
||||
target_include_directories(SDL2_image::SDL2_image SYSTEM INTERFACE ${SDL2_IMAGE_INCLUDE_DIR})
|
||||
target_link_libraries(SDL2_image::SDL2_image INTERFACE ${SDL2_IMAGE_LIBRARY})
|
||||
|
|
|
@ -155,3 +155,6 @@ INCLUDE(FindPackageHandleStandardArgs)
|
|||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_TTF REQUIRED_VARS SDL2_TTF_LIBRARY SDL2_TTF_INCLUDE_DIR)
|
||||
|
||||
add_library(SDL2_ttf::SDL2_ttf INTERFACE IMPORTED)
|
||||
target_include_directories(SDL2_ttf::SDL2_ttf SYSTEM INTERFACE ${SDL2_TTF_INCLUDE_DIR})
|
||||
target_link_libraries(SDL2_ttf::SDL2_ttf INTERFACE ${SDL2_TTF_LIBRARY})
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
include_directories(. include)
|
||||
|
||||
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
# gtest-all.cc includes all other sources
|
||||
add_library(gtest STATIC src/gtest-all.cc)
|
||||
|
||||
target_include_directories(gtest
|
||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
)
|
||||
|
||||
target_compile_definitions(gtest PUBLIC GTEST_HAS_TR1_TUPLE=0)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
add_library(hippomocks INTERFACE)
|
||||
target_include_directories(hippomocks SYSTEM INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
|
@ -1,3 +1,4 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
add_library(localename STATIC localename.c)
|
||||
add_library(localename STATIC localename.c)
|
||||
target_include_directories(localename PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
add_library(wingetopt STATIC src/getopt.c src/getopt.h)
|
||||
add_library(wingetopt STATIC src/getopt.c)
|
||||
target_include_directories(wingetopt
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
|
||||
)
|
||||
|
||||
|
|
|
@ -24,20 +24,6 @@ endif()
|
|||
add_subdirectory(graphics/opengl/shaders)
|
||||
|
||||
|
||||
# Optional libraries
|
||||
set(OPTIONAL_LIBS "")
|
||||
set(OPTIONAL_INCLUDES "")
|
||||
|
||||
if(OPENAL_SOUND)
|
||||
set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
|
||||
set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
if(WINGETOPT)
|
||||
set(OPTIONAL_LIBS ${OPTIONAL_LIBS} wingetopt)
|
||||
set(OPTIONAL_INCLUDES ${OPTIONAL_INCLUDES} ${WINGETOPT_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
# Additional libraries per platform
|
||||
if(MXE) # MXE requires special treatment
|
||||
set(PLATFORM_LIBS ${MXE_LIBS})
|
||||
|
@ -590,26 +576,6 @@ set(MAIN_SOURCES
|
|||
${RES_FILES}
|
||||
)
|
||||
|
||||
# Libraries
|
||||
set(LIBS
|
||||
CBot
|
||||
localename
|
||||
${SDL2_LIBRARY}
|
||||
${SDL2_IMAGE_LIBRARY}
|
||||
${SDL2_TTF_LIBRARY}
|
||||
${OPENGL_LIBRARY}
|
||||
${PNG_LIBRARIES}
|
||||
${GLEW_LIBRARY}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBSNDFILE_LIBRARY}
|
||||
${OPTIONAL_LIBS}
|
||||
${PLATFORM_LIBS}
|
||||
${PHYSFS_LIBRARY}
|
||||
)
|
||||
|
||||
set(COLOBOT_LIBS ${LIBS} PARENT_SCOPE)
|
||||
|
||||
|
||||
# Includes
|
||||
set(LOCAL_INCLUDES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
@ -618,17 +584,7 @@ set(LOCAL_INCLUDES
|
|||
)
|
||||
|
||||
set(SYSTEM_INCLUDES
|
||||
${SDL2_INCLUDE_DIR}
|
||||
${SDL2_IMAGE_INCLUDE_DIR}
|
||||
${SDL2_TTF_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIRS}
|
||||
${GLEW_INCLUDE_PATH}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${LIBSNDFILE_INCLUDE_DIR}
|
||||
${LOCALENAME_INCLUDE_DIR}
|
||||
${PHYSFS_INCLUDE_PATH}
|
||||
${LIBINTL_INCLUDE_PATH}
|
||||
${OPTIONAL_INCLUDES}
|
||||
)
|
||||
|
||||
set(COLOBOT_LOCAL_INCLUDES ${LOCAL_INCLUDES} PARENT_SCOPE)
|
||||
|
@ -648,6 +604,37 @@ link_directories(
|
|||
|
||||
add_library(colobotbase STATIC ${BASE_SOURCES})
|
||||
|
||||
target_link_libraries(colobotbase PUBLIC
|
||||
Boost::system Boost::regex Boost::filesystem
|
||||
PNG::PNG
|
||||
SDL2::SDL2 SDL2_image::SDL2_image SDL2_ttf::SDL2_ttf
|
||||
GLEW::GLEW
|
||||
PhysFS::PhysFS
|
||||
libsndfile::libsndfile
|
||||
localename
|
||||
|
||||
CBot
|
||||
|
||||
${PLATFORM_LIBS}
|
||||
${OPENGL_LIBRARY}
|
||||
)
|
||||
|
||||
if(OPENAL_SOUND)
|
||||
# find_package(OpenAL) doesn't define a target for OpenAL, so we make our own one
|
||||
add_library(OpenAL INTERFACE IMPORTED)
|
||||
target_link_libraries(OpenAL INTERFACE ${OPENAL_LIBRARY})
|
||||
target_include_directories(OpenAL INTERFACE ${OPENAL_INCLUDE_DIR})
|
||||
|
||||
target_link_libraries(colobotbase PUBLIC
|
||||
OpenAL
|
||||
libsndfile::libsndfile
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WINGETOPT)
|
||||
target_link_libraries(colobotbase PUBLIC wingetopt)
|
||||
endif()
|
||||
|
||||
add_executable(colobot ${MAIN_SOURCES})
|
||||
target_link_libraries(colobot colobotbase ${LIBS})
|
||||
|
||||
|
|
|
@ -31,14 +31,11 @@ include_directories(
|
|||
|
||||
include_directories(
|
||||
SYSTEM
|
||||
${GTEST_INCLUDE_DIR}
|
||||
${HIPPOMOCKS_INCLUDE_DIR}
|
||||
${COLOBOT_SYSTEM_INCLUDES}
|
||||
)
|
||||
|
||||
# Libraries
|
||||
set(LIBS
|
||||
gtest
|
||||
colobotbase
|
||||
${COLOBOT_LIBS}
|
||||
)
|
||||
|
@ -56,7 +53,7 @@ file(COPY ${TEST_FILES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
|||
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
|
||||
|
||||
add_executable(colobot_ut ${UT_SOURCES})
|
||||
target_link_libraries(colobot_ut ${LIBS})
|
||||
target_link_libraries(colobot_ut ${LIBS} hippomocks gtest)
|
||||
|
||||
add_test(
|
||||
NAME colobot_ut
|
||||
|
|
Loading…
Reference in New Issue