CMake refactoring
This commit is contained in:
7
.gitmodules
vendored
7
.gitmodules
vendored
@@ -13,7 +13,8 @@
|
|||||||
[submodule "pip"]
|
[submodule "pip"]
|
||||||
path = pip
|
path = pip
|
||||||
url = https://git.shs.tools/SHS/pip.git
|
url = https://git.shs.tools/SHS/pip.git
|
||||||
[submodule "cd_utils"]
|
branch = master
|
||||||
path = cd_utils
|
[submodule "cd"]
|
||||||
url = https://git.shs.tools/SHS/cd_utils.git
|
path = cd
|
||||||
|
url = https://git.shs.tools/SHS/cd.git
|
||||||
branch = master
|
branch = master
|
||||||
|
|||||||
194
CMakeLists.txt
194
CMakeLists.txt
@@ -5,128 +5,25 @@ cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain targ
|
|||||||
if (POLICY CMP0053)
|
if (POLICY CMP0053)
|
||||||
cmake_policy(SET CMP0053 NEW) # simpler variable expansion and escape sequence evaluation rules
|
cmake_policy(SET CMP0053 NEW) # simpler variable expansion and escape sequence evaluation rules
|
||||||
endif()
|
endif()
|
||||||
project(libs)
|
project(shstk)
|
||||||
set(PIP_CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake")
|
set(CMAKE_MODULE_PATH
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${PIP_CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake")
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
set(LIBPROJECT 1)
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
|
||||||
set(_qt_libs )
|
"${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake"
|
||||||
set(_qt_apps )
|
"${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake"
|
||||||
set(_qt_plugs)
|
"${CMAKE_CURRENT_SOURCE_DIR}/cd_utils/cmake"
|
||||||
include(GenerateExportHeader)
|
)
|
||||||
include(SDKMacros)
|
|
||||||
include(QADMacros)
|
|
||||||
include(DeployMacros)
|
|
||||||
|
|
||||||
if(NOT DEFINED BUILD_NUMBER)
|
include(QtWraps)
|
||||||
set(BUILD_NUMBER 9999)
|
include(SHSTKMacros)
|
||||||
endif()
|
|
||||||
if("x${BUILD_NUMBER}" STREQUAL "x")
|
|
||||||
set(BUILD_NUMBER 0)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
shstk_begin_project("" "")
|
||||||
|
|
||||||
if(STATIC_LIB)
|
|
||||||
set(QAD_LIB_TYPE STATIC)
|
|
||||||
add_definitions(-DQAD_STATIC_DEFINE)
|
|
||||||
set(QAD_LIB_TYPE_MSG "Static")
|
|
||||||
else()
|
|
||||||
set(QAD_LIB_TYPE SHARED)
|
|
||||||
set(QAD_LIB_TYPE_MSG "Shared")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_QAD_MAJOR 1)
|
|
||||||
set(_QAD_MINOR 7)
|
|
||||||
set(_QAD_REVISION 0)
|
|
||||||
set(_QAD_SUFFIX )
|
|
||||||
set(_QAD_COMPANY SHS)
|
|
||||||
set(_QAD_DOMAIN org.SHS)
|
|
||||||
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad/qad_version.h")
|
|
||||||
set_version(QAD
|
|
||||||
MAJOR "${_QAD_MAJOR}"
|
|
||||||
MINOR "${_QAD_MINOR}"
|
|
||||||
REVISION "${_QAD_REVISION}"
|
|
||||||
BUILD "${BUILD_NUMBER}"
|
|
||||||
SUFFIX "${_QAD_SUFFIX}"
|
|
||||||
OUTPUT "${QAD_VERSION_FILE}")
|
|
||||||
set_deploy_property(QAD ${QAD_LIB_TYPE}
|
|
||||||
FULLNAME "${_QAD_DOMAIN}.*"
|
|
||||||
COMPANY "${_QAD_COMPANY}")
|
|
||||||
|
|
||||||
|
|
||||||
if(STATIC_LIB)
|
|
||||||
set(PIQt_LIB_TYPE STATIC)
|
|
||||||
add_definitions(-DPIQt_STATIC_DEFINE)
|
|
||||||
set(PIQt_LIB_TYPE_MSG "Static")
|
|
||||||
else()
|
|
||||||
set(PIQt_LIB_TYPE SHARED)
|
|
||||||
set(PIQt_LIB_TYPE_MSG "Shared")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_PIQt_MAJOR 1)
|
|
||||||
set(_PIQt_MINOR 0)
|
|
||||||
set(_PIQt_REVISION 0)
|
|
||||||
set(_PIQt_SUFFIX )
|
|
||||||
set(_PIQt_COMPANY SHS)
|
|
||||||
set(_PIQt_DOMAIN org.SHS)
|
|
||||||
if(NOT DEFINED BUILD_NUMBER)
|
|
||||||
set(BUILD_NUMBER 9999)
|
|
||||||
endif()
|
|
||||||
set(PIQt_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/piqt/piqt_version.h")
|
|
||||||
set_version(PIQt
|
|
||||||
MAJOR "${_PIQt_MAJOR}"
|
|
||||||
MINOR "${_PIQt_MINOR}"
|
|
||||||
REVISION "${_PIQt_REVISION}"
|
|
||||||
BUILD "${BUILD_NUMBER}"
|
|
||||||
SUFFIX "${_PIQt_SUFFIX}"
|
|
||||||
OUTPUT "${PIQt_VERSION_FILE}")
|
|
||||||
set_deploy_property(PIQt ${_PIQt_LIB_TYPE}
|
|
||||||
FULLNAME "${_PIQt_DOMAIN}.*"
|
|
||||||
COMPANY "${_PIQt_COMPANY}")
|
|
||||||
|
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/pip)
|
|
||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/qad)
|
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/piqt)
|
|
||||||
if(MINGW)
|
|
||||||
find_package(MinGW REQUIRED)
|
|
||||||
else()
|
|
||||||
if(APPLE)
|
|
||||||
set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks;@executable_path/lib;@loader_path/../lib")
|
|
||||||
set(CMAKE_MACOSX_RPATH TRUE)
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
|
||||||
set(CMAKE_INSTALL_NAME_DIR "@rpath")
|
|
||||||
else()
|
|
||||||
include_directories(/usr/local/include)
|
|
||||||
link_directories(/usr/local/lib)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(CMAKE_INSTALL_RPATH "\$ORIGIN;\$ORIGIN/lib")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
if (DEFINED ANDROID_PLATFORM)
|
|
||||||
include_directories(${ANDROID_SYSTEM_LIBRARY_PATH}/usr/include)
|
|
||||||
#set(TARGET_INSTALL_PATH "${ANDROID_SYSTEM_LIBRARY_PATH}/usr/")
|
|
||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${ANDROID_NDK}/sysroot/usr/include")
|
|
||||||
#message("${ANDROID_SYSTEM_LIBRARY_PATH}/usr/include")
|
|
||||||
#message("${ANDROID_NDK}/sysroot/usr/include")
|
|
||||||
endif()
|
|
||||||
set(INSTALL_PREFIX "")
|
|
||||||
set(_plugins_default_ ON)
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
|
||||||
if (DEFINED ANDROID_PLATFORM)
|
|
||||||
set(_plugins_default_ OFF)
|
|
||||||
set(INSTALL_PREFIX "${CMAKE_FIND_ROOT_PATH}/")
|
|
||||||
else()
|
|
||||||
set(INSTALL_PREFIX "${CMAKE_STAGING_PREFIX}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
option(CROSSTOOLS "Crosstools minimal build" OFF)
|
option(CROSSTOOLS "Crosstools minimal build" OFF)
|
||||||
option(LIB "System install" ON)
|
option(QGLVIEW "Build QGLView library and utils" OFF)
|
||||||
option(QGLVIEW "Build QGLview library and utils" OFF)
|
option(QGLENGINE "Build QGLEngine library and utils" OFF)
|
||||||
option(QGLENGINE "Build QGLENGINE library and utils" OFF)
|
|
||||||
option(UTILS "Build various utils" ${_plugins_default_})
|
option(UTILS "Build various utils" ${_plugins_default_})
|
||||||
option(DESIGNER_PLUGINS "Build qt designer plugins" ${_plugins_default_})
|
option(DESIGNER_PLUGINS "Build Qt designer plugins" ${_plugins_default_})
|
||||||
option(STATIC_LIB OFF)
|
|
||||||
if (CROSSTOOLS)
|
if (CROSSTOOLS)
|
||||||
set(LIB 1)
|
set(LIB 1)
|
||||||
set(QGLVIEW 0)
|
set(QGLVIEW 0)
|
||||||
@@ -134,55 +31,32 @@ if (CROSSTOOLS)
|
|||||||
set(UTILS 0)
|
set(UTILS 0)
|
||||||
set(DESIGNER_PLUGINS 0)
|
set(DESIGNER_PLUGINS 0)
|
||||||
endif()
|
endif()
|
||||||
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3 -Wall")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -Wall")
|
|
||||||
else()
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -Wall")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall")
|
|
||||||
endif()
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
set(PIP_LIBRARY pip)
|
add_subdirectory(pip)
|
||||||
set(PIP_INCLUDES)
|
find_package(PIP REQUIRED)
|
||||||
|
|
||||||
|
find_qt(Core QUIET)
|
||||||
|
if (SOME_QT_FOUND)
|
||||||
|
|
||||||
|
add_subdirectory(qad)
|
||||||
|
find_package(QAD REQUIRED)
|
||||||
|
|
||||||
if(LIB)
|
|
||||||
if(WIN32)
|
|
||||||
if(MINGW)
|
|
||||||
set(CMAKE_INSTALL_PREFIX ${MINGW_DIR})
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if (DEFINED ANDROID_PLATFORM)
|
|
||||||
set(CMAKE_INSTALL_PREFIX ${ANDROID_SYSTEM_LIBRARY_PATH}/usr)
|
|
||||||
else()
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
|
||||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_STAGING_PREFIX})
|
|
||||||
else()
|
|
||||||
set(CMAKE_INSTALL_PREFIX ${INSTALL_PREFIX}/usr/local)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
message(STATUS "Install ${PROJECT_NAME} to system \"${CMAKE_INSTALL_PREFIX}\"")
|
|
||||||
else()
|
|
||||||
message(STATUS "Install ${PROJECT_NAME} to local \"bin\", \"lib\" and \"include\"")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#message(${PIP_INCLUDES})
|
#message("cmg = \"${PIP_CMG}\"")
|
||||||
if(CMAKE_CROSSCOMPILING OR (DEFINED ANDROID_PLATFORM))
|
#if (PIP_FOUND)
|
||||||
set(PIP_CMG "pip_cmg")
|
# message("found pip = \"${PIP_FOUND}\"")
|
||||||
set(PIP_RC "pip_rc")
|
#endif()
|
||||||
set(PIP_DEPLOY_TOOL "deploy_tool")
|
#message("inc = \"${PIP_INCLUDES}\"")
|
||||||
else()
|
|
||||||
set(PIP_CMG "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/code_model_generator/pip_cmg")
|
|
||||||
set(PIP_RC "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/resources_compiler/pip_rc")
|
|
||||||
set(PIP_DEPLOY_TOOL "${CMAKE_CURRENT_BINARY_DIR}/pip/utils/deploy_tool/deploy_tool")
|
|
||||||
endif()
|
|
||||||
if(WIN32)
|
|
||||||
set(PIP_DLL_DIR "${CMAKE_CURRENT_BINARY_DIR}/pip")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(QAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/qad)
|
qt_add_executable(aaa ${CMAKE_CURRENT_SOURCE_DIR}/pip/main.cpp)
|
||||||
set(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
qt_target_link_libraries(aaa QAD::PIQtUtils)
|
||||||
|
#deploy_target(aaa DEPLOY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
|
return()
|
||||||
|
|
||||||
|
add_subdirectory(cmake)
|
||||||
|
|
||||||
if (CROSSTOOLS)
|
if (CROSSTOOLS)
|
||||||
|
|
||||||
|
|||||||
1
cd
Submodule
1
cd
Submodule
Submodule cd added at 5a49104273
1
cd_utils
1
cd_utils
Submodule cd_utils deleted from 05ed4322ad
2
cmake
2
cmake
Submodule cmake updated: 93caa5cc5d...c350c61e36
2
qad
2
qad
Submodule qad updated: bd421ff5af...c576a14deb
Reference in New Issue
Block a user