CMake配置opengl+freeglut示例

cmake_minimum_required(VERSION 2.8)

project(LearnGL)

if(CMAKE_HOST_WIN32)
    set(WINDOWS 1)
endif()

# Add search path for include and lib files
set(FREEGLUT_DIR "E:/BookExamp/SB5/freeglut-3.0.0")
INCLUDE_DIRECTORIES("${FREEGLUT_DIR}/include")

if(CMAKE_BUILD_TYPE MATCHES "Debug")
    LINK_DIRECTORIES("${FREEGLUT_DIR}/lib/Debug")
elseif(CMAKE_BUILD_TYPE MATCHES "Release")
    LINK_DIRECTORIES("${FREEGLUT_DIR}/lib/Release")
endif()

add_executable(${PROJECT_NAME} "main.cpp")
if(CMAKE_BUILD_TYPE MATCHES "Debug")
    target_link_libraries(${PROJECT_NAME} "freeglutd")
elseif(CMAKE_BUILD_TYPE MATCHES "Release")
    target_link_libraries(${PROJECT_NAME} "freeglut")
endif()


# 拷贝dll文件到程序输出目录
if(WINDOWS)
    if(CMAKE_BUILD_TYPE MATCHES "Debug")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy_if_different
            "${FREEGLUT_DIR}/lib/Debug/freeglutd.dll"
            $<TARGET_FILE_DIR:${PROJECT_NAME}>)
    elseif(CMAKE_BUILD_TYPE MATCHES "Release")
        add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy_if_different
            "${FREEGLUT_DIR}/lib/Release/freeglut.dll"
            $<TARGET_FILE_DIR:${PROJECT_NAME}>)
    endif()
endif()
发布了12 篇原创文章 · 获赞 3 · 访问量 9131

猜你喜欢

转载自blog.csdn.net/qq_22826709/article/details/84101939