Compare commits
6 Commits
colobot2
...
modernize-
Author | SHA1 | Date |
---|---|---|
|
bff56bdfb6 | |
|
937451a73d | |
|
d57ca161f5 | |
|
1f2f857221 | |
|
cbd2108eec | |
|
33a380daba |
|
@ -3,7 +3,7 @@
|
||||||
# Contains global options and definitions
|
# Contains global options and definitions
|
||||||
##
|
##
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
project(colobot C CXX)
|
project(colobot C CXX)
|
||||||
|
|
||||||
|
@ -305,7 +305,6 @@ find_package(GLEW REQUIRED)
|
||||||
|
|
||||||
if (OPENAL_SOUND)
|
if (OPENAL_SOUND)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
include_directories(${OPENAL_INCLUDE_DIR})
|
|
||||||
find_package(LibSndFile REQUIRED)
|
find_package(LibSndFile REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -360,7 +359,6 @@ endif()
|
||||||
##
|
##
|
||||||
# Localename
|
# Localename
|
||||||
##
|
##
|
||||||
set(LOCALENAME_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/localename)
|
|
||||||
add_subdirectory(lib/localename)
|
add_subdirectory(lib/localename)
|
||||||
|
|
||||||
|
|
||||||
|
@ -368,7 +366,6 @@ add_subdirectory(lib/localename)
|
||||||
# Wingetopt
|
# Wingetopt
|
||||||
##
|
##
|
||||||
if(WINGETOPT)
|
if(WINGETOPT)
|
||||||
set(WINGETOPT_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/wingetopt/src)
|
|
||||||
add_subdirectory(lib/wingetopt)
|
add_subdirectory(lib/wingetopt)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -455,8 +452,7 @@ if(TESTS)
|
||||||
|
|
||||||
add_subdirectory(${GTEST_SRC_DIR} lib/gtest)
|
add_subdirectory(${GTEST_SRC_DIR} lib/gtest)
|
||||||
|
|
||||||
# Hippomocks library
|
add_subdirectory(lib/hippomocks)
|
||||||
set(HIPPOMOCKS_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/hippomocks)
|
|
||||||
|
|
||||||
# Tests targets
|
# Tests targets
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
|
@ -49,3 +49,7 @@ ELSE (GLEW_INCLUDE_PATH)
|
||||||
ENDIF (GLEW_INCLUDE_PATH)
|
ENDIF (GLEW_INCLUDE_PATH)
|
||||||
|
|
||||||
MARK_AS_ADVANCED( GLEW_FOUND )
|
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")
|
MESSAGE(FATAL_ERROR "Could not find sndfile")
|
||||||
ENDIF(LibSndFile_FIND_REQUIRED)
|
ENDIF(LibSndFile_FIND_REQUIRED)
|
||||||
ENDIF (LIBSNDFILE_FOUND)
|
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)
|
ENDIF (PHYSFS_INCLUDE_PATH)
|
||||||
|
|
||||||
MARK_AS_ADVANCED( PHYSFS_FOUND )
|
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)
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
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)
|
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)
|
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)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
include_directories(. include)
|
|
||||||
|
|
||||||
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
|
|
||||||
|
|
||||||
# gtest-all.cc includes all other sources
|
# gtest-all.cc includes all other sources
|
||||||
add_library(gtest STATIC src/gtest-all.cc)
|
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)
|
||||||
add_library(wingetopt STATIC src/getopt.c src/getopt.h)
|
target_include_directories(wingetopt
|
||||||
|
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
@ -24,20 +24,6 @@ endif()
|
||||||
add_subdirectory(graphics/opengl/shaders)
|
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
|
# Additional libraries per platform
|
||||||
if(MXE) # MXE requires special treatment
|
if(MXE) # MXE requires special treatment
|
||||||
set(PLATFORM_LIBS ${MXE_LIBS})
|
set(PLATFORM_LIBS ${MXE_LIBS})
|
||||||
|
@ -590,26 +576,6 @@ set(MAIN_SOURCES
|
||||||
${RES_FILES}
|
${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
|
# Includes
|
||||||
set(LOCAL_INCLUDES
|
set(LOCAL_INCLUDES
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
@ -618,17 +584,7 @@ set(LOCAL_INCLUDES
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SYSTEM_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}
|
${LIBINTL_INCLUDE_PATH}
|
||||||
${OPTIONAL_INCLUDES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(COLOBOT_LOCAL_INCLUDES ${LOCAL_INCLUDES} PARENT_SCOPE)
|
set(COLOBOT_LOCAL_INCLUDES ${LOCAL_INCLUDES} PARENT_SCOPE)
|
||||||
|
@ -648,6 +604,37 @@ link_directories(
|
||||||
|
|
||||||
add_library(colobotbase STATIC ${BASE_SOURCES})
|
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})
|
add_executable(colobot ${MAIN_SOURCES})
|
||||||
target_link_libraries(colobot colobotbase ${LIBS})
|
target_link_libraries(colobot colobotbase ${LIBS})
|
||||||
|
|
||||||
|
|
|
@ -31,14 +31,11 @@ include_directories(
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
SYSTEM
|
SYSTEM
|
||||||
${GTEST_INCLUDE_DIR}
|
|
||||||
${HIPPOMOCKS_INCLUDE_DIR}
|
|
||||||
${COLOBOT_SYSTEM_INCLUDES}
|
${COLOBOT_SYSTEM_INCLUDES}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
set(LIBS
|
set(LIBS
|
||||||
gtest
|
|
||||||
colobotbase
|
colobotbase
|
||||||
${COLOBOT_LIBS}
|
${COLOBOT_LIBS}
|
||||||
)
|
)
|
||||||
|
@ -56,7 +53,7 @@ file(COPY ${TEST_FILES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
|
add_definitions(-DGTEST_HAS_TR1_TUPLE=0)
|
||||||
|
|
||||||
add_executable(colobot_ut ${UT_SOURCES})
|
add_executable(colobot_ut ${UT_SOURCES})
|
||||||
target_link_libraries(colobot_ut ${LIBS})
|
target_link_libraries(colobot_ut ${LIBS} hippomocks gtest)
|
||||||
|
|
||||||
add_test(
|
add_test(
|
||||||
NAME colobot_ut
|
NAME colobot_ut
|
||||||
|
|
Loading…
Reference in New Issue