cmake refactoring
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
||||||
project(cd)
|
project(CD)
|
||||||
set(cd_MAJOR 1)
|
set(CD_MAJOR 1)
|
||||||
set(cd_MINOR 1)
|
set(CD_MINOR 1)
|
||||||
set(cd_REVISION 0)
|
set(CD_REVISION 0)
|
||||||
set(cd_SUFFIX )
|
set(CD_SUFFIX )
|
||||||
set(cd_COMPANY SHS)
|
set(CD_COMPANY SHS)
|
||||||
set(cd_DOMAIN org.SHS)
|
set(CD_DOMAIN org.SHS)
|
||||||
|
|
||||||
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
@@ -15,7 +15,7 @@ endif()
|
|||||||
find_package(PIP REQUIRED)
|
find_package(PIP REQUIRED)
|
||||||
find_package(QAD)
|
find_package(QAD)
|
||||||
include(SHSTKMacros)
|
include(SHSTKMacros)
|
||||||
shstk_begin_project(cd CD)
|
shstk_begin_project(CD)
|
||||||
if(QAD_FOUND)
|
if(QAD_FOUND)
|
||||||
include(QtWraps)
|
include(QtWraps)
|
||||||
include(SHSTKQtMacros)
|
include(SHSTKQtMacros)
|
||||||
@@ -29,12 +29,12 @@ if(QAD_FOUND)
|
|||||||
option(UTILS "Build various utils" ${_plugins_default_})
|
option(UTILS "Build various utils" ${_plugins_default_})
|
||||||
|
|
||||||
macro(cd_library NAME _MODULES _LIBS)
|
macro(cd_library NAME _MODULES _LIBS)
|
||||||
shstk_qad_project(cd_${NAME} FALSE "cd" "${_MODULES}" "${_LIBS}" ${ARGN})
|
shstk_qad_project(cd_${NAME} FALSE "CD" "${_MODULES}" "${_LIBS}" ${ARGN})
|
||||||
shstk_qad_install("cd" FALSE cd_${NAME} "${out_HDR}" "out_QM")
|
shstk_qad_install("cd" FALSE cd_${NAME} "${out_HDR}" "out_QM")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(cd_application NAME _MODULES _LIBS)
|
macro(cd_application NAME _MODULES _LIBS)
|
||||||
shstk_qad_project(${NAME} TRUE "cd" "${_MODULES}" "${_LIBS}" ${ARGN})
|
shstk_qad_project(${NAME} TRUE "CD" "${_MODULES}" "${_LIBS}" ${ARGN})
|
||||||
shstk_qad_install("cd" TRUE ${NAME} "" "out_QM")
|
shstk_qad_install("cd" TRUE ${NAME} "" "out_QM")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ if(QAD_FOUND)
|
|||||||
shstk_qad_plugin(cd_${NAME} "${_MODULES}" "cd_${NAME};${_LIBS}")
|
shstk_qad_plugin(cd_${NAME} "${_MODULES}" "cd_${NAME};${_LIBS}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
shstk_install(cd FALSE "" "${cd_VERSION_FILE}")
|
shstk_install(cd FALSE "" "${CD_VERSION_FILE}")
|
||||||
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
||||||
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
||||||
|
|
||||||
@@ -63,9 +63,9 @@ endif()
|
|||||||
|
|
||||||
message("----------CD-----------")
|
message("----------CD-----------")
|
||||||
message(" Build for ${QtVersions}")
|
message(" Build for ${QtVersions}")
|
||||||
message(" Version: ${cd_VERSION} ")
|
message(" Version: ${CD_VERSION} ")
|
||||||
message(" Linkage: ${cd_LIB_TYPE_MSG}")
|
message(" Linkage: ${CD_LIB_TYPE_MSG}")
|
||||||
message(" Type : ${cd_BUILD_TYPE}")
|
message(" Type : ${CD_BUILD_TYPE}")
|
||||||
if (NOT LOCAL)
|
if (NOT LOCAL)
|
||||||
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
|
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
|
||||||
else()
|
else()
|
||||||
|
|||||||
@@ -17,12 +17,10 @@ include(SHSTKMacros)
|
|||||||
|
|
||||||
shstk_is_parent_exists(hasParent PARENT_DIRECTORY)
|
shstk_is_parent_exists(hasParent PARENT_DIRECTORY)
|
||||||
|
|
||||||
shstk_set_find_dirs(cd CD)
|
shstk_set_find_dirs(CD)
|
||||||
set(_SEARCH_DIR ${cd_LIBDIR})
|
|
||||||
|
|
||||||
if (NOT BUILDING_cd)
|
if (NOT BUILDING_CD)
|
||||||
list(APPEND _SEARCH_DIR $ENV{SMSDK_DIR}/lib)
|
shstk_find_header(CD "cd_version.h" ${CD_INCDIR})
|
||||||
shstk_find_header(cd CD "cd_version.h" "")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CD_FIND_VERSION VERSION_GREATER CD_VERSION)
|
if(CD_FIND_VERSION VERSION_GREATER CD_VERSION)
|
||||||
@@ -37,9 +35,9 @@ set( __inc_core "")
|
|||||||
set(__libs_core "")
|
set(__libs_core "")
|
||||||
set(__deps_core "PIP")
|
set(__deps_core "PIP")
|
||||||
|
|
||||||
if (BUILDING_cd)
|
if (BUILDING_CD)
|
||||||
|
|
||||||
if (NOT SET_TARGETS_cd)
|
if (NOT SET_TARGETS_CD)
|
||||||
#message("create aliases")
|
#message("create aliases")
|
||||||
foreach (_l ${__libs})
|
foreach (_l ${__libs})
|
||||||
set(_m ${__module_${_l}})
|
set(_m ${__module_${_l}})
|
||||||
@@ -55,12 +53,12 @@ else()
|
|||||||
#message("create interfaces")
|
#message("create interfaces")
|
||||||
foreach (_l ${__libs})
|
foreach (_l ${__libs})
|
||||||
set(_m ${__module_${_l}})
|
set(_m ${__module_${_l}})
|
||||||
find_library(CD_LIBRARY_${_l} cd_${_l} HINTS ${_SEARCH_DIR})
|
find_library(CD_LIBRARY_${_l} cd_${_l} HINTS ${CD_LIBDIR})
|
||||||
if((NOT TARGET CD::${_m}) AND CD_LIBRARY_${_l})
|
if((NOT TARGET CD::${_m}) AND CD_LIBRARY_${_l})
|
||||||
add_library(CD::${_m} UNKNOWN IMPORTED)
|
add_library(CD::${_m} UNKNOWN IMPORTED)
|
||||||
set_target_properties(CD::${_m} PROPERTIES
|
set_target_properties(CD::${_m} PROPERTIES
|
||||||
IMPORTED_LOCATION "${CD_LIBRARY_${_l}}"
|
IMPORTED_LOCATION "${CD_LIBRARY_${_l}}"
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${cd_INCLUDES};${__inc_${_l}}"
|
INTERFACE_INCLUDE_DIRECTORIES "${CD_INCLUDES};${__inc_${_l}}"
|
||||||
INTERFACE_LINK_LIBRARIES "${__deps_${_l}};${__libs_${_l}}")
|
INTERFACE_LINK_LIBRARIES "${__deps_${_l}};${__libs_${_l}}")
|
||||||
#message("imported CD::${_m} = ${CD_LIBRARY_${_l}} ${__deps_${_l}} ${__libs_${_l}} ${__inc_${_l}}")
|
#message("imported CD::${_m} = ${CD_LIBRARY_${_l}} ${__deps_${_l}} ${__libs_${_l}} ${__inc_${_l}}")
|
||||||
endif()
|
endif()
|
||||||
@@ -78,10 +76,10 @@ if (QAD_FOUND OR BUILDING_qad)
|
|||||||
set(__libs_qt "")
|
set(__libs_qt "")
|
||||||
set(__deps_qt "QAD::PIQt;QAD::Graphic;CD::Core")
|
set(__deps_qt "QAD::PIQt;QAD::Graphic;CD::Core")
|
||||||
|
|
||||||
if (BUILDING_cd)
|
if (BUILDING_CD)
|
||||||
|
|
||||||
if (NOT SET_TARGETS_cd)
|
if (NOT SET_TARGETS_CD)
|
||||||
set(SET_TARGETS_cd ON CACHE BOOL "")
|
set(SET_TARGETS_CD ON CACHE BOOL "")
|
||||||
#message("create aliases")
|
#message("create aliases")
|
||||||
foreach(_l ${__libs})
|
foreach(_l ${__libs})
|
||||||
foreach(_v ${_QT_VERSIONS_})
|
foreach(_v ${_QT_VERSIONS_})
|
||||||
@@ -102,7 +100,7 @@ if (QAD_FOUND OR BUILDING_qad)
|
|||||||
foreach(_l ${__libs})
|
foreach(_l ${__libs})
|
||||||
foreach(_v ${_QT_VERSIONS_})
|
foreach(_v ${_QT_VERSIONS_})
|
||||||
set(_m ${__module_${_l}})
|
set(_m ${__module_${_l}})
|
||||||
find_library(CD_LIBRARY_${_l}${_v} cd_${_l}${_v} HINTS ${cd_LIBDIR})
|
find_library(CD_LIBRARY_${_l}${_v} cd_${_l}${_v} HINTS ${CD_LIBDIR})
|
||||||
#message("found ${_l}${_v} = ${CD_LIBRARY_${_l}${_v}}")
|
#message("found ${_l}${_v} = ${CD_LIBRARY_${_l}${_v}}")
|
||||||
if((NOT TARGET CD::${_m}${_v}) AND CD_LIBRARY_${_l}${_v})
|
if((NOT TARGET CD::${_m}${_v}) AND CD_LIBRARY_${_l}${_v})
|
||||||
#message("imported CD::${_m}${_v} = ${CD_LIBRARY_${_l}${_v}}")
|
#message("imported CD::${_m}${_v} = ${CD_LIBRARY_${_l}${_v}}")
|
||||||
@@ -118,7 +116,7 @@ if (QAD_FOUND OR BUILDING_qad)
|
|||||||
endforeach()
|
endforeach()
|
||||||
set_target_properties(CD::${_m}${_v} PROPERTIES
|
set_target_properties(CD::${_m}${_v} PROPERTIES
|
||||||
IMPORTED_LOCATION "${CD_LIBRARY_${_l}${_v}}"
|
IMPORTED_LOCATION "${CD_LIBRARY_${_l}${_v}}"
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${cd_INCLUDES}"
|
INTERFACE_INCLUDE_DIRECTORIES "${CD_INCLUDES}"
|
||||||
INTERFACE_LINK_LIBRARIES "${_deps}")
|
INTERFACE_LINK_LIBRARIES "${_deps}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
|||||||
file(GLOB CPPS "cdutils_*.cpp")
|
file(GLOB CPPS "cdutils_*.cpp")
|
||||||
file(GLOB HDRS "cdutils_*.h")
|
file(GLOB HDRS "cdutils_*.h")
|
||||||
|
|
||||||
import_version(${PROJECT_NAME} cd)
|
import_version(${PROJECT_NAME} CD)
|
||||||
set_deploy_property(${PROJECT_NAME} ${cd_LIB_TYPE}
|
set_deploy_property(${PROJECT_NAME} ${CD_LIB_TYPE}
|
||||||
LABEL "Core CD library"
|
LABEL "Core CD library"
|
||||||
FULLNAME "${cd_DOMAIN}.${PROJECT_NAME}"
|
FULLNAME "${CD_DOMAIN}.${PROJECT_NAME}"
|
||||||
COMPANY "${cd_COMPANY}"
|
COMPANY "${CD_COMPANY}"
|
||||||
INFO "Control & Debug library")
|
INFO "Control & Debug library")
|
||||||
make_rc(${PROJECT_NAME} _RC)
|
make_rc(${PROJECT_NAME} _RC)
|
||||||
add_library(${PROJECT_NAME} ${cd_LIB_TYPE} ${CPPS} ${HDRS} ${_RC})
|
add_library(${PROJECT_NAME} ${CD_LIB_TYPE} ${CPPS} ${HDRS} ${_RC})
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
target_link_libraries(${PROJECT_NAME} PIP)
|
target_link_libraries(${PROJECT_NAME} PIP)
|
||||||
generate_export_header(${PROJECT_NAME})
|
generate_export_header(${PROJECT_NAME})
|
||||||
|
|||||||
Reference in New Issue
Block a user