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