From 2b62f71edc09e205cf5cf978e01c4507f24d5827 Mon Sep 17 00:00:00 2001 From: Silvio Kunaschk Date: Sun, 5 May 2019 23:19:52 +0200 Subject: [PATCH] added initial CMakeLists.txt --- CMakeLists.txt | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..177cd912 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.7) + +project(VCVRack) + +set(CMAKE_CXX_STANDARD 14) + +set(RACK_APP rack) + +set(RACK_GIT_REV "UNKNOWN") + +find_package(Git) +if(GIT_FOUND) + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" + OUTPUT_VARIABLE RACK_GIT_REV + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +else() + message(WARNING "Git cmd not found") +endif() + +set(RACK_BUILD_VERSION "1.dev.${RACK_GIT_REV}") +message( STATUS "build ${RACK_APP} version '${RACK_BUILD_VERSION}'") + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +file(GLOB_RECURSE SOURCES src/*.cpp) +file(GLOB_RECURSE HEADERS include/*.hpp) +source_group("Header Files" FILES ${HEADERS}) + +add_executable(${RACK_APP} ${SOURCES}) + +target_compile_definitions(${RACK_APP} PRIVATE VERSION=${RACK_BUILD_VERSION}) + +if (MSVC) + target_compile_definitions(${RACK_APP} PRIVATE _CRT_SECURE_NO_WARNINGS _USE_MATH_DEFINES ARCH_WIN) +else () + set_target_properties(${RACK_APP} PROPERTIES LINK_FLAGS -rdynamic) +endif () + +if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_compile_definitions(${RACK_APP} PRIVATE ARCH_LIN) +elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + target_compile_definitions(${RACK_APP} ARCH_MAC) +endif () + +target_include_directories(${RACK_APP} PRIVATE include) +conan_target_link_libraries(${RACK_APP})