cmake_minimum_required(VERSION 3.16) project(MyProject VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) #set(CMAKE_AUTOMOC ON) #set(CMAKE_AUTORCC ON) #set(CMAKE_AUTOUIC ON) set(PROJECT_OUTPUT_DIR ${CMAKE_SOURCE_DIR}/bin) set(PROJECT_LIB_DIR ${CMAKE_SOURCE_DIR}/lib) #set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) #set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) if (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_OUTPUT_DIR}/${CMAKE_BUILD_TYPE}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_LIB_DIR}/${CMAKE_BUILD_TYPE}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_LIB_DIR}/${CMAKE_BUILD_TYPE}) elseif(CMAKE_CXX_COMPILER_ID MATCHES MSVC) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PORJECT_OUTPUT_DIR}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_LIB_DIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_LIB_DIR}) endif() set(HEADER_HPP ) set(SOURCE_CPP src/main.cpp ) #find_package(Qt5 REQUIRED COMPONENTS Core Widget) add_executable(${PROJECT_NAME} ${HEADER_HPP} ${SOURCE_CPP}) #add_library(${PROJECT_NAME} SHARED ${HEADER_HPP} ${SOURCE_CPP}) #add_library(${PROJECT_NAME} STATIC ${HEADER_HPP} ${SOURCE_CPP}) #target_link_directories({PROJECT_NAME} PUBLIC ) #target_link_libraries({PROJECT_NAME} PUBLIC Qt5::Core Qt5::Widget) target_include_directories(${PROJECT_NAME} PUBLIC include 3rd) # check mode if (MSVC) add_compile_options($<$:/utf-8) # 配置调试路径 set_target_properties(MyApp PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/bin" ) # qt application main target_link_options(MyApp PRIVATE "/SUBSYSTEM:WINDONWS") target_link_options(${PROJECT_NAME} PRIVATE "/ENTRY:mainCRTStartup") set(CMAKE_CXX_FLAGS_DEBUG "/MDd /Zi /Ob0 /Od /RTC1") set(CMAKE_CXX_FLAGS_RELEASE "/MD /O2 /Ob2 /DNDEBUG") add_compile_options(/utf-8 /source-charset:utf-8 /execution-charset:utf-8) add_compile_definitions(_UNICODE UNICODE) endif() set_property(GLOBAL PROPERTY USE_FOLDERS_ON)