diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..42971a3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,32 @@ +# +# 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. +# + +cmake_minimum_required(VERSION 3.1) + +include(cmake/QuasarAppOut.cmake) + +project(${QUASARAPP_LIB_NAME} LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_CXX_STANDARD 17) +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) + +file(GLOB SOURCE_CPP + "*.cpp" +) + +add_library(${PROJECT_NAME} SHARED ${SOURCE_CPP}) +target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core) + diff --git a/cmake/QuasarApp.cmake b/cmake/QuasarApp.cmake new file mode 100644 index 0000000..2b4a134 --- /dev/null +++ b/cmake/QuasarApp.cmake @@ -0,0 +1,25 @@ +# +# 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. +# + +cmake_minimum_required(VERSION 3.1) + +IF(NOT QUASARAPP_LIB) + SET(QUASARAPP_LIB True) + include(QuasarAppOut.cmake) + + 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}) + + + target_link_libraries(${PROJECT_NAME} ${QUASARAPP_LIB_NAME}) + target_include_directories(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../) + +ENDIF(NOT QUASARAPP_LIB) + diff --git a/cmake/QuasarAppOut.cmake b/cmake/QuasarAppOut.cmake new file mode 100644 index 0000000..bbca7b7 --- /dev/null +++ b/cmake/QuasarAppOut.cmake @@ -0,0 +1,22 @@ +# +# 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 EQUAL Release) + SET(QUASARAPP_LIB_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/release) +ELSE() + SET(QUASARAPP_LIB_OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/debug) +ENDIF(CMAKE_BUILD_TYPE EQUAL Release) + +message(QUASARAPP_LIB_OUTPUT_DIR = ${QUASARAPP_LIB_OUTPUT_DIR}) + +