The expiration time for new job artifacts in CI/CD pipelines is now 30 days (GitLab default). Previously generated artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

CMakeLists.txt 2.64 KB
Newer Older
schultezub's avatar
schultezub committed
1
#
schultezub's avatar
schultezub committed
2
# CAMPVis - Yet another visualization framework
schultezub's avatar
schultezub committed
3
4
5
# CMake file inspired by Voreen
#

schultezub's avatar
schultezub committed
6
PROJECT(CAMPVis)
schultezub's avatar
schultezub committed
7
8
9
10
11
12
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)

#
# Global Build Options
#

schultezub's avatar
schultezub committed
13
14
15
16
17
18
19
OPTION(CAMPVIS_SHARED_LIBS          "Build shared libraries?"                                       ON )
#OPTION(CAMPVIS_PRECOMPILED_HEADER   "Use pre-compiled headers?"                                     ON )
OPTION(CAMPVIS_DEBUG                "Activate debug code?"                                          ON )
OPTION(CAMPVIS_BUILD_APPLICATION    "Build CAMPVis Application"                                      ON )
OPTION(CAMPVIS_BUILD_CORE           "Build CAMPVis Core"                                             ON )
OPTION(CAMPVIS_BUILD_MODULES        "Build CAMPVis Modules"                                          ON )
OPTION(CAMPVIS_BUILD_LIB_TGT        "Build TGT Library"                                             ON )
schultezub's avatar
schultezub committed
20
OPTION(CAMPVIS_BUILD_LIB_KISSCL     "Build KissCL Library"                                          OFF )
schultezub's avatar
schultezub committed
21
22

IF(WIN32)
schultezub's avatar
schultezub committed
23
24
25
    OPTION(CAMPVIS_COPY_EXTERNAL_DLLS   "Copy external DLLs to bin directory?"                      ON )
    OPTION(CAMPVIS_INCREMENTAL_LINKING  "Enable incremental linking in Visual Studio debug builds?" ON )
    OPTION(CAMPVIS_GENERATE_MANIFEST    "Generate manifest in Visual Studio debug builds (switch on when encountering errors using incremental linking)?"          OFF)
schultezub's avatar
schultezub committed
26
27
28
29
30
31
ENDIF()

#
# Further Build Configurations
#
include(cmake/commonconf.cmake)
32
include(cmake/parseModulesDir.cmake)
schultezub's avatar
schultezub committed
33

34
35
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)

36
37
MESSAGE(STATUS "--------------------------------------------------------------------------------")

schultezub's avatar
schultezub committed
38
IF(CAMPVIS_BUILD_LIB_TGT)
schultezub's avatar
schultezub committed
39
40
41
    ADD_SUBDIRECTORY(ext/tgt)
ENDIF()

schultezub's avatar
schultezub committed
42
IF(CAMPVIS_BUILD_LIB_KISSCL)
schultezub's avatar
schultezub committed
43
    LIST(APPEND CampvisGlobalDefinitions "-DHAS_KISSCL")
schultezub's avatar
schultezub committed
44
    ADD_SUBDIRECTORY(ext/kisscl)
45
46
ENDIF()

schultezub's avatar
schultezub committed
47
IF(CAMPVIS_BUILD_CORE)
schultezub's avatar
schultezub committed
48
49
50
    ADD_SUBDIRECTORY(core)
ENDIF()

schultezub's avatar
schultezub committed
51
IF(CAMPVIS_BUILD_MODULES)
schultezub's avatar
   
schultezub committed
52
53
54
    ADD_SUBDIRECTORY(modules)
ENDIF()

schultezub's avatar
schultezub committed
55
IF(CAMPVIS_BUILD_APPLICATION)
schultezub's avatar
   
schultezub committed
56
57
58
    ADD_SUBDIRECTORY(application)
ENDIF()

schultezub's avatar
schultezub committed
59
60
61
62
#
# Copy External DLLs
#
IF(WIN32)
schultezub's avatar
schultezub committed
63
    # gather Qt4 DLLs - TODO: remove redundant naming of required components 
64
    FIND_PACKAGE(Qt4DLLs COMPONENTS QtCore QtGui QtOpenGL QtNetwork QtXmlPatterns)
schultezub's avatar
schultezub committed
65
66
67
    LIST(APPEND CampvisExternalDllsDebug ${QT_DEBUG_DLLS})
    LIST(APPEND CampvisExternalDllsRelease ${QT_RELEASE_DLLS})

schultezub's avatar
schultezub committed
68
69
    LIST(REMOVE_DUPLICATES CampvisExternalDllsDebug)
    LIST(REMOVE_DUPLICATES CampvisExternalDllsRelease)
schultezub's avatar
schultezub committed
70

schultezub's avatar
schultezub committed
71
    IF(CAMPVIS_COPY_EXTERNAL_DLLS)
schultezub's avatar
schultezub committed
72
        COPY_EXTERNAL_DLLS(CampvisExternalDllsDebug CampvisExternalDllsRelease false)
schultezub's avatar
schultezub committed
73
74
    ENDIF()
ENDIF()