Skip to content
Snippets Groups Projects
Commit 947e56e5 authored by Dirk Helmrich's avatar Dirk Helmrich
Browse files

Changed plaintext _phoenix_ references to generated variables in all cmake files

parent 63bb2224
No related branches found
No related tags found
No related merge requests found
...@@ -20,8 +20,20 @@ ...@@ -20,8 +20,20 @@
# limitations under the License. # limitations under the License.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# GENERIC PROJECT VARIABLES
#------------------------------------------------------------------------------
# Name of Project: ${projectname_lowercase}
# NAME OF PROJECT: ${projectname_uppercase}
# Abbreviation of Project and its library folder: ${projectname_abbreviation}
#------------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.8.2) cmake_minimum_required(VERSION 3.8.2)
set(projectname_lowercase "phoenix")
string(TOUPPER ${projectname_lowercase} projectname_uppercase)
set(projectname_abbreviation phx)
project(ProjectPhoenix) project(ProjectPhoenix)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
......
...@@ -21,17 +21,17 @@ ...@@ -21,17 +21,17 @@
# - Config file for the Project Phoenix package # - Config file for the Project Phoenix package
# It defines the following variables # It defines the following variables
# PHOENIX_INCLUDE_DIRS - include directories for Project Phoenix # ${projectname_uppercase}_INCLUDE_DIRS - include directories for Project Phoenix
# PHOENIX_LIBRARIES - libraries to link against # ${projectname_uppercase}_LIBRARIES - libraries to link against
# Compute paths # Compute paths
get_filename_component(PHOENIX_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) get_filename_component(${projectname_uppercase}_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
set(PHOENIX_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") set(${projectname_uppercase}_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
# Our library dependencies (contains definitions for IMPORTED targets) # Our library dependencies (contains definitions for IMPORTED targets)
if(NOT TARGET phoenix) if(NOT TARGET ${projectname_lowercase})
include("${PHOENIX_CMAKE_DIR}/phoenix-targets.cmake") include("${${projectname_uppercase}_CMAKE_DIR}/${projectname_lowercase}-targets.cmake")
endif() endif()
# These are IMPORTED targets created by phoenix-targets.cmake # These are IMPORTED targets created by ${projectname_lowercase}-targets.cmake
set(PHOENIX_LIBRARIES phoenix) set(${projectname_uppercase}_LIBRARIES ${projectname_lowercase})
...@@ -29,10 +29,10 @@ add_executable(viewer ...@@ -29,10 +29,10 @@ add_executable(viewer
) )
target_include_directories(viewer target_include_directories(viewer
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
phoenix ${projectname_lowercase}
) )
target_link_libraries(viewer target_link_libraries(viewer
phoenix ${projectname_lowercase}
) )
set_warning_levels_RWTH(viewer) set_warning_levels_RWTH(viewer)
add_test_cpplint(NAME "viewer--cpplint" add_test_cpplint(NAME "viewer--cpplint"
......
...@@ -20,27 +20,35 @@ ...@@ -20,27 +20,35 @@
# limitations under the License. # limitations under the License.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
file(GLOB PHOENIX_SOURCES phx/*.cpp) #------------------------------------------------------------------------------
file(GLOB PHOENIX_HEADERS phx/*.hpp) # GENERIC PROJECT VARIABLES
#------------------------------------------------------------------------------
# Name of Project: ${projectname_lowercase}
# NAME OF PROJECT: ${projectname_uppercase}
# Abbreviation of Project and its library folder: ${projectname_abbreviation}
#------------------------------------------------------------------------------
file(GLOB ${projectname_uppercase}_SOURCES ${projectname_abbreviation}/*.cpp)
file(GLOB ${projectname_uppercase}_HEADERS ${projectname_abbreviation}/*.hpp)
# configure resources directory include string # configure resources directory include string
set(_RESOURCES_ROOT_PATH "${CMAKE_SOURCE_DIR}/resources/") set(_RESOURCES_ROOT_PATH "${CMAKE_SOURCE_DIR}/resources/")
set(SOURCE_RESOURCES_INCLUDE_FILE "${CMAKE_SOURCE_DIR}/cmake/resources_path.hpp.in") set(SOURCE_RESOURCES_INCLUDE_FILE "${CMAKE_SOURCE_DIR}/cmake/resources_path.hpp.in")
set(TARGET_RESOURCES_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/phx/resources_path.hpp") set(TARGET_RESOURCES_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/resources_path.hpp")
configure_file(${SOURCE_RESOURCES_INCLUDE_FILE} ${TARGET_RESOURCES_INCLUDE_FILE} @ONLY) configure_file(${SOURCE_RESOURCES_INCLUDE_FILE} ${TARGET_RESOURCES_INCLUDE_FILE} @ONLY)
add_library(phoenix add_library(${projectname_lowercase}
${PHOENIX_SOURCES} ${${projectname_uppercase}_SOURCES}
${PHOENIX_HEADERS} ${${projectname_uppercase}_HEADERS}
) )
target_include_directories(phoenix target_include_directories(${projectname_lowercase}
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_CURRENT_BINARY_DIR} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
PUBLIC ${OPENGL_INCLUDE_DIR} PUBLIC ${OPENGL_INCLUDE_DIR}
) )
target_link_libraries(phoenix target_link_libraries(${projectname_lowercase}
${CONAN_OR_CMAKE_assimp} ${CONAN_OR_CMAKE_assimp}
${CONAN_OR_CMAKE_gl} ${CONAN_OR_CMAKE_gl}
${CONAN_OR_CMAKE_boost} ${CONAN_OR_CMAKE_boost}
...@@ -53,22 +61,22 @@ target_link_libraries(phoenix ...@@ -53,22 +61,22 @@ target_link_libraries(phoenix
${CONAN_OR_CMAKE_jsonformoderncpp} ${CONAN_OR_CMAKE_jsonformoderncpp}
) )
generate_export_header(phoenix generate_export_header(${projectname_lowercase}
EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/phx/export.hpp EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/export.hpp
) )
set_warning_levels_RWTH(phoenix set_warning_levels_RWTH(${projectname_lowercase}
SUPPRESS_WARNINGS_HEADER ${CMAKE_CURRENT_BINARY_DIR}/phx/suppress_warnings.hpp SUPPRESS_WARNINGS_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${projectname_abbreviation}/suppress_warnings.hpp
) )
add_test_cpplint(NAME "phoenix--cpplint" add_test_cpplint(NAME "${projectname_lowercase}--cpplint"
${PHOENIX_SOURCES} ${${projectname_uppercase}_SOURCES}
${PHOENIX_HEADERS} ${${projectname_uppercase}_HEADERS}
) )
add_test_cppcheck(NAME "phoenix--cppcheck" add_test_cppcheck(NAME "${projectname_lowercase}--cppcheck"
${PHOENIX_SOURCES} ${${projectname_uppercase}_SOURCES}
${PHOENIX_HEADERS} ${${projectname_uppercase}_HEADERS}
) )
generate_configure_files(phoenix) generate_configure_files(${projectname_lowercase})
...@@ -20,6 +20,16 @@ ...@@ -20,6 +20,16 @@
# limitations under the License. # limitations under the License.
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# GENERIC PROJECT VARIABLES
#------------------------------------------------------------------------------
# Name of Project: ${projectname_lowercase}
# NAME OF PROJECT: ${projectname_uppercase}
# Abbreviation of Project and its library folder: ${projectname_abbreviation}
#------------------------------------------------------------------------------
#message(STATUS "In test level cmake-file we detected:\n${projectname_lowercase} and ${projectname_uppercase} and ${projectname_abbreviation}/")
#see at the bottom how to add mocked tests #see at the bottom how to add mocked tests
# configure reference image directory include string # configure reference image directory include string
...@@ -28,17 +38,17 @@ set(SOURCE_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/test_utilities/ref ...@@ -28,17 +38,17 @@ set(SOURCE_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/test_utilities/ref
set(TARGET_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/test_utilities/reference_image_path.hpp") set(TARGET_REFIMAGE_INCLUDE_FILE "${CMAKE_CURRENT_BINARY_DIR}/test_utilities/reference_image_path.hpp")
configure_file(${SOURCE_REFIMAGE_INCLUDE_FILE} ${TARGET_REFIMAGE_INCLUDE_FILE} @ONLY) configure_file(${SOURCE_REFIMAGE_INCLUDE_FILE} ${TARGET_REFIMAGE_INCLUDE_FILE} @ONLY)
file(GLOB PHOENIX_TEST_SOURCES src/*.cpp) file(GLOB ${projectname_uppercase}_TEST_SOURCES src/*.cpp)
file(GLOB PHOENIX_TEST_HEADERS src/*.hpp) file(GLOB ${projectname_uppercase}_TEST_HEADERS src/*.hpp)
file(GLOB PHOENIX_TEST_UTILITIES_TEST_SOURCES test_utilities/tests/src/*.cpp) file(GLOB ${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES test_utilities/tests/src/*.cpp)
file(GLOB PHOENIX_TEST_UTILITIES_HEADERS test_utilities/*.hpp) file(GLOB ${projectname_uppercase}_TEST_UTILITIES_HEADERS test_utilities/*.hpp)
file(GLOB PHOENIX_TEST_UTILITIES_SOURCES test_utilities/*.cpp) file(GLOB ${projectname_uppercase}_TEST_UTILITIES_SOURCES test_utilities/*.cpp)
#get the include directories #get the include directories
get_target_property(glew_include_directories get_target_property(glew_include_directories
${CONAN_OR_CMAKE_glew} INTERFACE_INCLUDE_DIRECTORIES) ${CONAN_OR_CMAKE_glew} INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(phoenix_include_directories get_target_property(${projectname_lowercase}_include_directories
phoenix INCLUDE_DIRECTORIES) ${projectname_lowercase} INCLUDE_DIRECTORIES)
get_target_property(sdl2_include_directories get_target_property(sdl2_include_directories
${CONAN_OR_CMAKE_SDL2} INTERFACE_INCLUDE_DIRECTORIES) ${CONAN_OR_CMAKE_SDL2} INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(openvr_include_directories get_target_property(openvr_include_directories
...@@ -102,8 +112,8 @@ endif(MSVC) ...@@ -102,8 +112,8 @@ endif(MSVC)
# generate test_utilities # generate test_utilities
add_library(test_utilities STATIC add_library(test_utilities STATIC
${PHOENIX_TEST_UTILITIES_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
${PHOENIX_TEST_UTILITIES_HEADERS} ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
) )
set_target_properties(test_utilities PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(test_utilities PROPERTIES LINKER_LANGUAGE CXX)
set_property(TARGET test_utilities PROPERTY FOLDER "Tests") set_property(TARGET test_utilities PROPERTY FOLDER "Tests")
...@@ -113,7 +123,7 @@ target_include_directories(test_utilities ...@@ -113,7 +123,7 @@ target_include_directories(test_utilities
target_link_libraries(test_utilities target_link_libraries(test_utilities
${CONAN_OR_CMAKE_gl} ${CONAN_OR_CMAKE_gl}
${CONAN_OR_CMAKE_catch} ${CONAN_OR_CMAKE_catch}
phoenix) ${projectname_lowercase})
set_warning_levels_rwth(test_utilities) set_warning_levels_rwth(test_utilities)
...@@ -138,34 +148,34 @@ macro(add_mocked_test cpp_file) ...@@ -138,34 +148,34 @@ macro(add_mocked_test cpp_file)
cmake_parse_arguments(ADD_MOCKED_TEST cmake_parse_arguments(ADD_MOCKED_TEST
"${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
list(REMOVE_ITEM PHOENIX_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/${cpp_file}.cpp) list(REMOVE_ITEM ${projectname_uppercase}_TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/${cpp_file}.cpp)
set(test_sources src/tests.cpp src/${cpp_file}.cpp) set(test_sources src/tests.cpp src/${cpp_file}.cpp)
add_executable(${cpp_file} ${test_sources}) add_executable(${cpp_file} ${test_sources})
add_dependencies(${cpp_file} phoenix test_utilities) add_dependencies(${cpp_file} ${projectname_lowercase} test_utilities)
ADD_TEST_CATCH_INTERNAL_(${cpp_file} ${test_sources} "") ADD_TEST_CATCH_INTERNAL_(${cpp_file} ${test_sources} "")
# make shure linker dependency injection works # make shure linker dependency injection works
target_include_directories(${cpp_file} target_include_directories(${cpp_file}
PRIVATE ${phoenix_include_directories} PRIVATE ${${projectname_lowercase}_include_directories}
PRIVATE ${glew_include_directories} PRIVATE ${glew_include_directories}
PRIVATE ${gl_include_directories} PRIVATE ${gl_include_directories}
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
get_target_property(phoenix_link_libraries phoenix LINK_LIBRARIES) get_target_property(${projectname_lowercase}_link_libraries ${projectname_lowercase} LINK_LIBRARIES)
if(${ADD_MOCKED_TEST_MOCK_GLEW}) if(${ADD_MOCKED_TEST_MOCK_GLEW})
list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_gl}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_gl})
list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_glew}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_glew})
#SDL has also to be removed since it contains OpenGL #SDL has also to be removed since it contains OpenGL
list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_SDL2}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_SDL2})
list(REMOVE_ITEM phoenix_link_libraries ${OPENGL_LIBRARIES}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${OPENGL_LIBRARIES})
list(APPEND phoenix_link_libraries opengl_mock) list(APPEND ${projectname_lowercase}_link_libraries opengl_mock)
list(APPEND phoenix_link_libraries ${gl_link_library}) list(APPEND ${projectname_lowercase}_link_libraries ${gl_link_library})
endif(${ADD_MOCKED_TEST_MOCK_GLEW}) endif(${ADD_MOCKED_TEST_MOCK_GLEW})
...@@ -176,19 +186,19 @@ macro(add_mocked_test cpp_file) ...@@ -176,19 +186,19 @@ macro(add_mocked_test cpp_file)
target_compile_definitions(${cpp_file} PRIVATE TESTING) target_compile_definitions(${cpp_file} PRIVATE TESTING)
target_include_directories(${cpp_file} target_include_directories(${cpp_file}
PRIVATE ${sdl2_include_directories}) PRIVATE ${sdl2_include_directories})
list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_SDL2}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_SDL2})
endif(${ADD_MOCKED_TEST_MOCK_SDL}) endif(${ADD_MOCKED_TEST_MOCK_SDL})
if(${ADD_MOCKED_TEST_MOCK_OPENVR}) if(${ADD_MOCKED_TEST_MOCK_OPENVR})
list(REMOVE_ITEM phoenix_link_libraries ${CONAN_OR_CMAKE_openvr}) list(REMOVE_ITEM ${projectname_lowercase}_link_libraries ${CONAN_OR_CMAKE_openvr})
list(APPEND phoenix_link_libraries openvr_mock) list(APPEND ${projectname_lowercase}_link_libraries openvr_mock)
endif(${ADD_MOCKED_TEST_MOCK_OPENVR}) endif(${ADD_MOCKED_TEST_MOCK_OPENVR})
target_link_libraries(${cpp_file} target_link_libraries(${cpp_file}
${CONAN_OR_CMAKE_trompeloeil} ${CONAN_OR_CMAKE_trompeloeil}
${CONAN_OR_CMAKE_catch} ${CONAN_OR_CMAKE_catch}
$<TARGET_FILE:phoenix> $<TARGET_FILE:${projectname_lowercase}>
${phoenix_link_libraries} ${${projectname_lowercase}_link_libraries}
$<TARGET_FILE:test_utilities> $<TARGET_FILE:test_utilities>
) )
endmacro() endmacro()
...@@ -197,20 +207,20 @@ endmacro() ...@@ -197,20 +207,20 @@ endmacro()
# these have to go before the mocked tests. # these have to go before the mocked tests.
# Otherwise, the mocked ones are not in PHOENIX_TEST_SOURCES anymore # Otherwise, the mocked ones are not in PHOENIX_TEST_SOURCES anymore
add_test_cppcheck(NAME "phoenix-tests--cppcheck" add_test_cppcheck(NAME "${projectname_lowercase}-tests--cppcheck"
${PHOENIX_TEST_SOURCES} ${${projectname_uppercase}_TEST_SOURCES}
${PHOENIX_TEST_HEADERS} ${${projectname_uppercase}_TEST_HEADERS}
${PHOENIX_TEST_UTILITIES_TEST_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
${PHOENIX_TEST_UTILITIES_HEADERS} ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
${PHOENIX_TEST_UTILITIES_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
) )
add_test_cpplint(NAME "phoenix-tests--cpplint" add_test_cpplint(NAME "${projectname_lowercase}-tests--cpplint"
${PHOENIX_TEST_SOURCES} ${${projectname_uppercase}_TEST_SOURCES}
${PHOENIX_TEST_HEADERS} ${${projectname_uppercase}_TEST_HEADERS}
${PHOENIX_TEST_UTILITIES_TEST_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
${PHOENIX_TEST_UTILITIES_HEADERS} ${${projectname_uppercase}_TEST_UTILITIES_HEADERS}
${PHOENIX_TEST_UTILITIES_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_SOURCES}
) )
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -235,12 +245,12 @@ add_mocked_test(integration_test_rendering MOCK_OPENVR) ...@@ -235,12 +245,12 @@ add_mocked_test(integration_test_rendering MOCK_OPENVR)
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
add_test_catch(NAME "phoenix-tests" add_test_catch(NAME "${projectname_lowercase}-tests"
SOURCES ${PHOENIX_TEST_SOURCES} ${PHOENIX_TEST_UTILITIES_TEST_SOURCES} SOURCES ${${projectname_uppercase}_TEST_SOURCES} ${${projectname_uppercase}_TEST_UTILITIES_TEST_SOURCES}
HEADERS ${PHOENIX_TEST_HEADERS} HEADERS ${${projectname_uppercase}_TEST_HEADERS}
CATCH_MAIN src/tests.cpp CATCH_MAIN src/tests.cpp
INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} phoenix INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${projectname_lowercase}
LINK_LIBRARIES phoenix test_utilities LINK_LIBRARIES ${projectname_lowercase} test_utilities
PATH_TO_ADD ${PROJECT_BINARY_DIR}/library PATH_TO_ADD ${PROJECT_BINARY_DIR}/library
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment