added support cmake build system

This commit is contained in:
Andrei Yankovich 2019-08-31 18:59:16 +03:00
parent 2205d1e8cb
commit 53bd629ccd
5 changed files with 11 additions and 49 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "CMake"]
path = CMake
url = https://github.com/QuasarApp/CMake.git

1
CMake Submodule

@ -0,0 +1 @@
Subproject commit b19c29180d406b88ab57f05f026c32ade0bfc5a3

View File

@ -7,10 +7,12 @@
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
include(cmake/QuasarAppOut.cmake) project(QuasarApp LANGUAGES CXX)
include(cmake/ccache.cmake)
include(CMake/ProjectOut.cmake)
include(CMake/ccache.cmake)
include(CMake/Version.cmake)
project(${QUASARAPP_LIB_NAME} LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
@ -18,10 +20,6 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${QUASARAPP_LIB_OUTPUT_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${QUASARAPP_LIB_OUTPUT_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${QUASARAPP_LIB_OUTPUT_DIR}/bin)
find_package(Qt5 COMPONENTS Core REQUIRED) find_package(Qt5 COMPONENTS Core REQUIRED)
file(GLOB SOURCE_CPP file(GLOB SOURCE_CPP
@ -30,11 +28,6 @@ file(GLOB SOURCE_CPP
add_library(${PROJECT_NAME} SHARED ${SOURCE_CPP}) add_library(${PROJECT_NAME} SHARED ${SOURCE_CPP})
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core) target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
setVersion(1 2 0)
message(STATUS "buid type " ${CMAKE_BUILD_TYPE})
message(STATUS "Project " ${PROJECT_NAME})
message(STATUS "c compiler " ${CMAKE_C_COMPILER})
message(STATUS "cxx compiler " ${CMAKE_CXX_COMPILER})
message(STATUS "build shared " ${BUILD_SHARED_LIBS})
message(STATUS "qmake exec " ${QT_QMAKE_EXECUTABLE})

View File

@ -1,22 +0,0 @@
#
# Copyright (C) 2018-2019 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE Release)
ENDIF(NOT CMAKE_BUILD_TYPE)
SET(QUASARAPP_LIB_NAME QuasarApp)
IF(${CMAKE_BUILD_TYPE} STREQUAL "Release")
SET(QUASARAPP_LIB_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/release)
ELSE(${CMAKE_BUILD_TYPE} STREQUAL "Release")
SET(QUASARAPP_LIB_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/debug)
ENDIF(${CMAKE_BUILD_TYPE} STREQUAL "Release")
message("QUASARAPP_LIB_OUTPUT_DIR = ${QUASARAPP_LIB_OUTPUT_DIR}")

View File

@ -1,13 +0,0 @@
#
# Copyright (C) 2018-2019 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
message("using ccache in ${CCACHE_PROGRAM}")
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()