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.54 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
32
33
ENDIF()

#
# Further Build Configurations
#

include(cmake/commonconf.cmake)

34
35
MESSAGE(STATUS "--------------------------------------------------------------------------------")

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

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

schultezub's avatar
schultezub committed
45
IF(CAMPVIS_BUILD_CORE)
schultezub's avatar
schultezub committed
46
47
48
    ADD_SUBDIRECTORY(core)
ENDIF()

schultezub's avatar
schultezub committed
49
IF(CAMPVIS_BUILD_MODULES)
schultezub's avatar
   
schultezub committed
50
51
52
    ADD_SUBDIRECTORY(modules)
ENDIF()

schultezub's avatar
schultezub committed
53
IF(CAMPVIS_BUILD_APPLICATION)
schultezub's avatar
   
schultezub committed
54
55
56
    ADD_SUBDIRECTORY(application)
ENDIF()

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

schultezub's avatar
schultezub committed
66
67
    LIST(REMOVE_DUPLICATES CampvisExternalDllsDebug)
    LIST(REMOVE_DUPLICATES CampvisExternalDllsRelease)
schultezub's avatar
schultezub committed
68

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