mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-14 16:09:06 +07:00
remove global definitions from cmakelists
This commit is contained in:
@@ -2,24 +2,25 @@ cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
|
|||||||
project(enduro2d)
|
project(enduro2d)
|
||||||
|
|
||||||
#
|
#
|
||||||
# global defines
|
# build mode
|
||||||
#
|
#
|
||||||
|
|
||||||
enable_testing()
|
foreach(flags CMAKE_C_FLAGS_DEBUG
|
||||||
|
CMAKE_CXX_FLAGS_DEBUG)
|
||||||
|
set(${flags} "${${flags}} -D_DEBUG -DNRELEASE")
|
||||||
|
endforeach(flags)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
foreach(flags CMAKE_C_FLAGS_RELEASE
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
CMAKE_C_FLAGS_MINSIZEREL
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_CXX_FLAGS_RELEASE
|
||||||
set(E2D_DEBUG_FLAGS " -D_DEBUG -DNRELEASE")
|
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||||
set(E2D_RELEASE_FLAGS " -DNDEBUG -D_RELEASE")
|
CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||||
set(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}${E2D_DEBUG_FLAGS})
|
set(${flags} "${${flags}} -DNDEBUG -D_RELEASE")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}${E2D_DEBUG_FLAGS})
|
endforeach(flags)
|
||||||
set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}${E2D_RELEASE_FLAGS})
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}${E2D_RELEASE_FLAGS})
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# warnings
|
# warning mode
|
||||||
#
|
#
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
@@ -39,46 +40,51 @@ endif()
|
|||||||
# e2d sources
|
# e2d sources
|
||||||
#
|
#
|
||||||
|
|
||||||
file(GLOB_RECURSE e2d_headers
|
file(GLOB_RECURSE E2D_HEADERS
|
||||||
headers/enduro2d/*.hpp
|
headers/enduro2d/*.hpp
|
||||||
headers/enduro2d/*.inl)
|
headers/enduro2d/*.inl)
|
||||||
|
|
||||||
file(GLOB_RECURSE e2d_sources
|
file(GLOB_RECURSE E2D_SOURCES
|
||||||
sources/enduro2d/*.cpp
|
sources/enduro2d/*.cpp
|
||||||
sources/enduro2d/*.hpp
|
sources/enduro2d/*.hpp
|
||||||
headers/enduro2d/*.inl)
|
headers/enduro2d/*.inl)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
file(GLOB_RECURSE e2d_sources_mm
|
file(GLOB_RECURSE E2D_SOURCES_MM
|
||||||
sources/enduro2d/*.mm)
|
sources/enduro2d/*.mm)
|
||||||
list(APPEND e2d_sources ${e2d_sources_mm})
|
list(APPEND E2D_SOURCES ${E2D_SOURCES_MM})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#
|
#
|
||||||
# 3rd party
|
# e2d 3rd party
|
||||||
#
|
#
|
||||||
|
|
||||||
file(GLOB_RECURSE e2d_3rdparty
|
file(GLOB_RECURSE E2D_3RDPARTY
|
||||||
sources/3rdparty/*.*)
|
sources/3rdparty/*.*)
|
||||||
|
|
||||||
#
|
#
|
||||||
# e2d library
|
# e2d library target
|
||||||
#
|
#
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} STATIC
|
add_library(${PROJECT_NAME} STATIC
|
||||||
${e2d_headers}
|
${E2D_HEADERS}
|
||||||
${e2d_sources}
|
${E2D_SOURCES}
|
||||||
${e2d_3rdparty})
|
${E2D_3RDPARTY})
|
||||||
|
|
||||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES
|
||||||
${e2d_headers}
|
${E2D_HEADERS}
|
||||||
${e2d_sources}
|
${E2D_SOURCES}
|
||||||
${e2d_3rdparty})
|
${E2D_3RDPARTY})
|
||||||
|
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||||
headers
|
headers
|
||||||
sources)
|
sources)
|
||||||
|
|
||||||
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
|
CXX_STANDARD 14
|
||||||
|
CXX_STANDARD_REQUIRED YES
|
||||||
|
CXX_EXTENSIONS NO)
|
||||||
|
|
||||||
#
|
#
|
||||||
# subdirectories
|
# subdirectories
|
||||||
#
|
#
|
||||||
@@ -90,5 +96,6 @@ endif()
|
|||||||
|
|
||||||
option(E2D_BUILD_UNTESTS "Build untests" ON)
|
option(E2D_BUILD_UNTESTS "Build untests" ON)
|
||||||
if(E2D_BUILD_UNTESTS)
|
if(E2D_BUILD_UNTESTS)
|
||||||
|
enable_testing()
|
||||||
add_subdirectory(untests)
|
add_subdirectory(untests)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ function(add_e2d_sample NAME)
|
|||||||
${Foundation})
|
${Foundation})
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
||||||
|
set_target_properties(${SAMPLE_NAME} PROPERTIES
|
||||||
|
CXX_STANDARD 14
|
||||||
|
CXX_STANDARD_REQUIRED YES
|
||||||
|
CXX_EXTENSIONS NO)
|
||||||
|
|
||||||
#
|
#
|
||||||
# resources
|
# resources
|
||||||
#
|
#
|
||||||
@@ -57,12 +62,12 @@ function(add_e2d_sample NAME)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
||||||
else()
|
else(MSVC)
|
||||||
add_custom_command(TARGET ${SAMPLE_NAME} POST_BUILD
|
add_custom_command(TARGET ${SAMPLE_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
||||||
endif()
|
endif(MSVC)
|
||||||
endfunction(add_e2d_sample)
|
endfunction(add_e2d_sample)
|
||||||
|
|
||||||
add_e2d_sample(00)
|
add_e2d_sample(00)
|
||||||
|
|||||||
@@ -40,6 +40,11 @@ function(add_e2d_tests NAME)
|
|||||||
${Foundation})
|
${Foundation})
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
|
||||||
|
set_target_properties(${TESTS_NAME} PROPERTIES
|
||||||
|
CXX_STANDARD 14
|
||||||
|
CXX_STANDARD_REQUIRED YES
|
||||||
|
CXX_EXTENSIONS NO)
|
||||||
|
|
||||||
#
|
#
|
||||||
# resources
|
# resources
|
||||||
#
|
#
|
||||||
@@ -49,12 +54,12 @@ function(add_e2d_tests NAME)
|
|||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
||||||
else()
|
else(MSVC)
|
||||||
add_custom_command(TARGET ${TESTS_NAME} POST_BUILD
|
add_custom_command(TARGET ${TESTS_NAME} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
||||||
endif()
|
endif(MSVC)
|
||||||
|
|
||||||
#
|
#
|
||||||
# tests
|
# tests
|
||||||
|
|||||||
Reference in New Issue
Block a user