aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 682f449f0f747c0d562adbb129452fd506b5c0f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
cmake_minimum_required(VERSION 3.1)
#SET(CMAKE_C_COMPILER C:/MinGW/bin/gcc)
#set(CMAKE_CXX_COMPILER C:/MinGW/bin/g++.exe)
project(licd)

cmake_policy(SET CMP0042 NEW)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# find_package(CURL REQUIRED)

ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)

list(APPEND targetSrc
${CMAKE_CURRENT_LIST_DIR}/licenser.cpp
    ${CMAKE_CURRENT_LIST_DIR}/tcpserver.cpp
    ${CMAKE_CURRENT_LIST_DIR}/httpclient.cpp
    ${CMAKE_CURRENT_LIST_DIR}/jsonhandler.cpp
    )
list(APPEND includes
${CMAKE_CURRENT_LIST_DIR}/include
    ${CMAKE_CURRENT_LIST_DIR}/3rdParty/
    #${CMAKE_CURRENT_LIST_DIR}/3rdParty/hmac_sha256
    )
message("Compiler: ${CMAKE_CXX_COMPILER_ID}")
message("System: ${CMAKE_SYSTEM}")

# For "CMAKE_INSTALL_<dir>" standard installation directories
include(GNUInstallDirs)

if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
    list(APPEND targetSrc
        ${CMAKE_CURRENT_LIST_DIR}/win/Svc.cpp
        ${CMAKE_CURRENT_LIST_DIR}/win/SvcConfig.cpp
        ${CMAKE_CURRENT_LIST_DIR}/win/SvcControl.cpp
        ${CMAKE_CURRENT_LIST_DIR}/win/getopt.c
        #${CMAKE_CURRENT_LIST_DIR}/win_service/SrvCtrl.cpp
        #${CMAKE_CURRENT_LIST_DIR}/win_service/BaseSrv.cpp
        #${CMAKE_CURRENT_LIST_DIR}/win_service/SrvCtrl.cpp
    )
    list(APPEND includes
        ${CMAKE_CURRENT_LIST_DIR}/win
    )
    set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++ -static -lpthread") # POSIX stdlibs
else()
    list(APPEND targetSrc
        ${CMAKE_CURRENT_LIST_DIR}/linux_daemon/linuxdaemon.cpp
        ${CMAKE_CURRENT_LIST_DIR}/linux_daemon/linuxdaemon.h
    )
    list(APPEND includes
        ${CMAKE_CURRENT_LIST_DIR}/linux_daemon
    )
endif ()

#message("Sources: ${targetSrc}")
#message("Includes: ${includes}")
add_subdirectory(3rdParty/hmac_sha256)
add_subdirectory(qtlongterm)
add_subdirectory(mocwrapper)
add_executable(licheck dummy_licheck.cpp)

add_executable(${PROJECT_NAME} ${targetSrc})
target_include_directories(${PROJECT_NAME} PUBLIC ${includes})
target_link_libraries(${PROJECT_NAME} hmac_sha256 curl)