Skip to content

Made topoms-cli and topoms-ui compile under Ubuntu 18.04.1LTS #7

@srk

Description

@srk

Made a new CMakeLists.txt. This evolved over many many iterations and probably has quite a few unnecessary parts.

====

------------------------------------------------------------------------------

CMake file for TopoMS

------------------------------------------------------------------------------

cmake_minimum_required(VERSION 3.9)

message(STATUS "> configuring TopoMS in (" ${CMAKE_CURRENT_SOURCE_DIR} ")")

project(TopoMS LANGUAGES CXX VERSION 1.1 DESCRIPTION "TopoMS")
set(CMAKE_BUILD_TYPE Release)

#set(CMAKE_VERBOSE_MAKEFILE 1)

------------------------------------------------------------------------------

compiler configuration

#if(NOT CMAKE_COMPILER_IS_GNUCXX)

message(FATAL_ERROR "TopoMS requires a GNU compiler. CMake will fail.")

#endif()

Compiler flags

set(CMAKE_CXX_FLAGS "-O3 -I/usr/include/GL/ ") ## Optimize
set(CMAKE_CXX_FLAGS "-std=c++0x -fpermissive -w ")

set(CMAKE_SHARED_LINKER_FLAGS "-s -lstdc++ -lGL -lQt5Xml -lQt5Designer") ## Strip binary
#set(CMAKE_SHARED_LINKER_FLAGS "-s -lc++ ") ## Strip binary
set(CMAKE_EXE_LINKER_FLAGS "-s -lstdc++ -lGL -lQt5Xml -lQt5Designer") ## Strip binary
#set(CMAKE_EXE_LINKER_FLAGS "-s -lc++ ") ## Strip binary
#-lc++ for Apple

------------------------------------------------------------------------------

subdirectories

set(PATH_EXT ${CMAKE_CURRENT_SOURCE_DIR}/external)
set(PATH_MSC ${CMAKE_CURRENT_SOURCE_DIR}/msc)
set(PATH_TOPOMS ${CMAKE_CURRENT_SOURCE_DIR}/topoms)
set(PATH_CLI ${CMAKE_CURRENT_SOURCE_DIR}/topoms-cli)
set(PATH_UI ${CMAKE_CURRENT_SOURCE_DIR}/topoms-ui)

#message(STATUS " > PATH_MSC: " ${PATH_MSC})
#message(STATUS " > PATH_TOPOMS: " ${PATH_TOPOMS})
#message(STATUS " > PATH_CLI: " ${PATH_CLI})
#message(STATUS " > PATH_UI: " ${PATH_UI})

target names

set(TRG_LIB topoms)
set(TRG_CLI topoms-cli)
set(TRG_UI topoms-ui)

------------------------------------------------------------------------------

OpenMP

#find_package(OpenMP REQUIRED)

#message(STATUS "OpenMP_CXX_FLAGS: " ${OpenMP_CXX_FLAGS})
#message(STATUS "OpenMP_EXE_LINKER_FLAGS: " ${OpenMP_EXE_LINKER_FLAGS})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -fopenmp -DGL_GLEXT_PROTOTYPES -DUSE_GLEW -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/GL/ ")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS} -lgomp -lGL -lQt5OpenGL -lGLEW -lQt5Xml -lQt5Core -lQt5Designer ")

------------------------------------------------------------------------------

VTK

find_package(VTK 7.1
HINTS ${PATH_EXT}/lib/cmake/vtk-7.1)

if(VTK_FOUND)
message(STATUS "Found VTK " ${VTK_VERSION} ": " ${VTK_INCLUDE_DIRS})
include(${VTK_USE_FILE})
add_definitions(-DUSE_VTK=TRUE)
endif(VTK_FOUND)

------------------------------------------------------------------------------

TopoMS

add_subdirectory(topoms)
add_subdirectory(topoms-cli)

OPTION(TOPOMS_BUILD_UI "Build User Interface" OFF)
if(TOPOMS_BUILD_UI)
add_subdirectory(topoms-ui)
endif()

------------------------------------------------------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions