Skip to content

Instantly share code, notes, and snippets.

@strezh
Created December 14, 2014 12:56
Show Gist options
  • Save strezh/59e3421fe3666efec9ea to your computer and use it in GitHub Desktop.
Save strezh/59e3421fe3666efec9ea to your computer and use it in GitHub Desktop.
some gists for CMake
# Switch between compilers
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# using Clang
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# using GCC
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
# using Intel C++
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# using Visual Studio C++
endif()
#For CUDA and GCC/MSVC
if(CUDA_FOUND AND ((MSVC AND WIN32) OR (UNIX AND CMAKE_COMPILER_IS_GNUCC )))
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-O3 -gencode arch=compute_20,code=sm_21)
cuda_add_executable(${PROJECT_NAME} ${SRC_LIST} ${CUDAHEADERS} ${CUDASOURCES})
target_link_libraries(${PROJECT_NAME} ${CUDA_LIBRARIES})
else(CUDA_FOUND)
add_executable(${PROJECT_NAME} ${SRC_LIST})
endif()
#GTest on GCC and MSVC
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set(GTEST_MAIN_LIBRARY "${GTEST_ROOT}/bin/libgtest_main.a")
set(GTEST_LIBRARY "${GTEST_ROOT}/bin/libgtest.a")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
message(${CMAKE_BUILD_TYPE})
if(${CMAKE_BUILD_TYPE} STREQUAL "Release")
set(GTEST_MAIN_LIBRARY "${GTEST_ROOT}/bin/gtest_main-md.lib")
set(GTEST_LIBRARY "${GTEST_ROOT}/bin/gtest.lib")
else()
set(GTEST_MAIN_LIBRARY "${GTEST_ROOT}/bin/gtest_main-mdd.lib")
set(GTEST_LIBRARY "${GTEST_ROOT}/bin/gtestd.lib")
endif()
endif()
@strezh
Copy link
Author

strezh commented Dec 14, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment