52 lines · plain
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-exception7#//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 first18 19set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")20 21set(LIBOMPD_LD_STD_FLAGS FALSE CACHE BOOL22 "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 flags34 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 ompd49 LIBRARY DESTINATION ${OPENMP_INSTALL_LIBDIR}50 ARCHIVE DESTINATION ${OPENMP_INSTALL_LIBDIR}51 RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" )52