xref: /llvm-project/openmp/libompd/src/CMakeLists.txt (revision 822142ffdfbe93f213c2c6b3f2aec7fe5f0af072)
1#
2#//===----------------------------------------------------------------------===//
3#//
4#// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5#// See https://llvm.org/LICENSE.txt for license information.
6#// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7#//
8#//===----------------------------------------------------------------------===//
9#
10
11project (libompd)
12cmake_minimum_required(VERSION 3.20.0)
13
14add_library (ompd SHARED TargetValue.cpp omp-debug.cpp omp-state.cpp omp-icv.cpp)
15
16# libompd must not link against libomp, there is no code dependency.
17add_dependencies(ompd omp) # ensure generated import library is created first
18
19set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
20
21set(LIBOMPD_LD_STD_FLAGS FALSE CACHE BOOL
22  "Use -stdlibc++ instead of -libc++ library for C++ ")
23
24if(${LIBOMPD_LD_STD_FLAGS})
25#  Find and replace/add libstdc++ to compile flags
26   STRING( FIND "${CMAKE_CXX_FLAGS}" "-stdlib=libc++" OUT )
27   if("${OUT}" STREQUAL "-1" )
28      set (CMAKE_CXX_FLAGS "-stdlib=libstdc++ ${CMAKE_CXX_FLAGS}")
29   else()
30      STRING( REPLACE "-stdlib=libc++" "-stdlib=libstdc++" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} )
31   endif()
32
33#  Find and replace/add libstdc++ to loader flags
34   STRING( FIND "${CMAKE_SHARED_LINKER_FLAGS}" "-stdlib=libc++" OUT )
35   if("${OUT}" STREQUAL "-1" )
36      set (CMAKE_SHARED_LINKER_FLAGS "-stdlib=libstdc++ ${CMAKE_SHARED_LINKER_FLAGS}")
37   else()
38      STRING( REPLACE "-stdlib=libc++" "-stdlib=libstdc++" CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} )
39   endif()
40endif()
41
42include_directories (
43        ${CMAKE_CURRENT_SOURCE_DIR}
44        ${LIBOMP_INCLUDE_DIR}
45        ${LIBOMP_SRC_DIR}
46)
47
48INSTALL( TARGETS ompd
49        LIBRARY DESTINATION ${OPENMP_INSTALL_LIBDIR}
50        ARCHIVE DESTINATION ${OPENMP_INSTALL_LIBDIR}
51        RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" )
52