generallib/general/CMakeLists.txt

46 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.11)
enable_language(CXX)
project(General)
message( "current compiler " ${CMAKE_CXX_COMPILER_ID})
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# using Clang
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
add_compile_options(-Wall)
add_compile_options(-Wsign-compare)
add_compile_options(-Werror)
add_compile_options(-Wno-unused-function)
add_compile_options(-Wno-misleading-indentation)
add_compile_options(-Wno-format-overflow)
# using GCC
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
# using Intel C++
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# using Visual Studio C++
add_compile_options( /DEBUG /D_CRT_SECURE_NO_WARNINGS /D_CRT_SECURE_NO_WARNINGS)
endif()
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/obj)
message( "LIBRARY_OUTPUT_PATH " ${LIBRARY_OUTPUT_PATH})
set(CMAKE_CXX_STANDARD 11)
INCLUDE_DIRECTORIES (./)
INCLUDE_DIRECTORIES (inc)
INCLUDE_DIRECTORIES (encrypt)
INCLUDE_DIRECTORIES (pattern)
include_directories(third/include)
aux_source_directory(src DIRSRCS)
aux_source_directory(src/pattern PaternSrc)
aux_source_directory(src/function FunctionSrc)
aux_source_directory(src/algorithm AlgorithmSrc)
aux_source_directory(src/encrypt EncryptSrc)
message("source file is " ${DIRSRCS} ${PaternSrc} ${EncryptSrc} ${FunctionSrc} ${AlgorithmSrc})
add_library(General OBJECT ${DIRSRCS} ${PaternSrc} ${EncryptSrc} ${FunctionSrc} ${AlgorithmSrc} )
set_property(TARGET General PROPERTY
MSVC_RUNTIME_LIBRARY MultiThreadedDebug)