Compare commits

...

3 Commits

3 changed files with 55 additions and 6 deletions

View File

@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
include(GNUInstallDirs)
include(MyxCMakeCheckPaths)
link_directories(${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS
${CMAKE_CXX_SOURCE_FILE_EXTENSIONS};tpp;tcc)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
@ -34,12 +35,11 @@ include(MyxCMakePkgConfig)
include(MyxCMakeNinjaGeneratorHelper)
# include(CMLibDocDoxygen) include(CMLibDocBreathe)
# include(CMLibExternalProject)
include(MyxCMakeExternalProject)
include(MyxCMakeCPack)
include(MyxCMakeUninstall)
# Additional functions
include(MyxCMakeGenerateGitInfoHeader)
include(MyxCMakeGeneratePrivateConfigHeader)

View File

@ -51,16 +51,16 @@ function(myx_cmake_common_target_properties target)
target_compile_features(${target} ${__visibility} cxx_alias_templates
cxx_nullptr cxx_override)
if(_target_type STREQUAL EXECUTABLE)
set_target_properties(${target} PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(
${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
set_target_properties(${target} PROPERTIES
POSITION_INDEPENDENT_CODE ON
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
if(CMAKE_CXX_COMPILE_OPTIONS_PIE)
target_compile_options(${target} PUBLIC ${CMAKE_CXX_COMPILE_OPTIONS_PIE})
endif()
if(CMAKE_CXX_COMPILER_IS_GCC AND MYX_CMAKE_CODE_COVERAGE)
myx_cmake_code_coverage(${target})
endif()
install(TARGETS ${target} COMPONENT main RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
if(APPLE)

View File

@ -0,0 +1,49 @@
include(ExternalProject)
if(CMAKE_BUILD_TYPE)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
endif()
if(MYX_CMAKE_DIR)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DMYX_CMAKE_MAIN_DIR=${MYX_CMAKE_DIR})
endif()
if(CMAKE_C_COMPILER)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
endif()
if(CMAKE_C_FLAGS)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -E env "CFLAGS=${CMAKE_C_FLAGS}")
endif()
if(CMAKE_CPP_COMPILER)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_CPP_COMPILER=${CMAKE_CPP_COMPILER})
endif()
if(CMAKE_CXX_FLAGS)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -E env "CXXFLAGS=${CMAKE_CXX_FLAGS}")
endif()
if(CMAKE_Fortran_COMPILER)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER})
endif()
if(CMAKE_Fortran_FLAGS)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -E env "FFLAGS=${CMAKE_Fortran_FLAGS}")
endif()
if(CMAKE_INSTALL_PREFIX)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR})
endif()
if(CMAKE_PREFIX_PATH)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH})
endif()
if(Qt5_DIR)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DQt5_DIR=${Qt5_DIR})
endif()
if(Qt5Core_DIR)
list(APPEND MYX_CMAKE_EXTERNAL_PROJECT_ARGS -DQt5Core_DIR=${Qt5Core_DIR})
endif()