草庐IT

language-cmake

全部标签

linux - 带有生成文件 : add a sound at the end of build 的 CMake

在Linux下工作的一个大项目需要一些时间来构建,我想在构建结束时添加一个声音。我如何使用CMake做到这一点?我的第一个想法是添加一个像这样的命令add_custom_target(DONGALLCOMMANDaplay${PathDong}&)但我不知道如何创建对所有目标的依赖(毕竟要确保播放它)。是否有一个全局目标取决于所有定义的目标?注意:我在构建结束时需要它,而不是在安装结束时(这很容易)。 最佳答案 使用脚本。脚本执行CMake,然后播放声音。thispost中描述了几种解决方案.

c++ - 如何将现有的 CMake git repo 作为子模块包含在我自己的 CMake 项目中?

我正在尝试使用OpenKinect编写一些程序项目。我想将OpenKinect的主分支作为子目录添加到我的项目源代码中。但是,如果您查看OpenKinect自己的CMake,那里的东西太多了,我不需要所有东西。那里有某些选项,它们被设置为ON或OFF,如下所示:OPTION(BUILD_AUDIO"Buildaudiosupport"OFF)OPTION(BUILD_REDIST_PACKAGE"Buildlibfreenectinalegally-redistributablemanner(onlyaffectsaudio)"OFF)OPTION(BUILD_EXAMPLES"Bui

c++ - 如何将现有的 CMake git repo 作为子模块包含在我自己的 CMake 项目中?

我正在尝试使用OpenKinect编写一些程序项目。我想将OpenKinect的主分支作为子目录添加到我的项目源代码中。但是,如果您查看OpenKinect自己的CMake,那里的东西太多了,我不需要所有东西。那里有某些选项,它们被设置为ON或OFF,如下所示:OPTION(BUILD_AUDIO"Buildaudiosupport"OFF)OPTION(BUILD_REDIST_PACKAGE"Buildlibfreenectinalegally-redistributablemanner(onlyaffectsaudio)"OFF)OPTION(BUILD_EXAMPLES"Bui

c++ - CMake 在更改时不会重新编译源文件?

我正在使用cmake构建我的库,当我更改其中一个LIB_SRCS文件并在命令行中键入make时,它​​不会重新编译该文件!set(LIB_SRCS${PROJECT_SOURCE_DIR}/src/A.cpp${PROJECT_SOURCE_DIR}/src/B.cpp${PROJECT_SOURCE_DIR}/src/C.cpp)add_library(mylibSHARED${LIB_SRCS})add_dependencies(mylib${LIB_SRCS}) 最佳答案 您应该检查的第一件事是.o和.so与.cpp的修改时间

c++ - CMake 在更改时不会重新编译源文件?

我正在使用cmake构建我的库,当我更改其中一个LIB_SRCS文件并在命令行中键入make时,它​​不会重新编译该文件!set(LIB_SRCS${PROJECT_SOURCE_DIR}/src/A.cpp${PROJECT_SOURCE_DIR}/src/B.cpp${PROJECT_SOURCE_DIR}/src/C.cpp)add_library(mylibSHARED${LIB_SRCS})add_dependencies(mylib${LIB_SRCS}) 最佳答案 您应该检查的第一件事是.o和.so与.cpp的修改时间

linux - CMake - 更改当前目录(例如 : project/build ) from CMakeLists. txt?

我正在使用CMake构建项目。在配置和构建时,我在目录project/build中。如何更改CMake中的目录并从另一个目录执行bash脚本。execute_process(COMMANDcd../)-不工作。当我执行这个CMake时,它​​的目录没有改变,我又回到了项目/构建中。 最佳答案 execute_process命令的WORKING_DIRECTORY指令让您可以直接指定脚本运行的目录。execute_process(COMMAND${CMAKE_SOURCE_DIR}/script.shargsWORKING_DIREC

linux - CMake - 更改当前目录(例如 : project/build ) from CMakeLists. txt?

我正在使用CMake构建项目。在配置和构建时,我在目录project/build中。如何更改CMake中的目录并从另一个目录执行bash脚本。execute_process(COMMANDcd../)-不工作。当我执行这个CMake时,它​​的目录没有改变,我又回到了项目/构建中。 最佳答案 execute_process命令的WORKING_DIRECTORY指令让您可以直接指定脚本运行的目录。execute_process(COMMAND${CMAKE_SOURCE_DIR}/script.shargsWORKING_DIREC

cmake引入动态库

终于跟着恩培的教程摸了一边cmake导包的过程,希望以后不会再那么多疑惑跟问题.首先,cmake不同版本的差异很挺大,我环境是3.16.3,应该还挺算新,3.10有问题.首先,弄一个动态的库,用于给别人导入,类似ffmpeg,opencv这类第三方的库.build文件夹是cmake自己生成的,不用管.src里面就是源码,由于是个库,不需要main函数include里面是头文件目录.关键是CMakLists.txt:cmake_minimum_required(VERSION3.10)project(custom_mod)set(CMAKE_CXX_STANDARD11)#将dlib编译成动态库

linux - CMAKE_PREFIX_PATH 没有帮助 CMake 找到 Qt5

来自这里:https://stackoverflow.com/a/28327499/462608我试过这个:cmake_minimum_required(VERSION2.8.12)project(qtquick_hello_cmake)set(CMAKE_PREFIX_PATH"/opt/Qt5.9.1/5.9.1/")set(CMAKE_INCLUDE_CURRENT_DIRON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)find_package(Qt5COMPONENTSQuickCoreREQUIRED)qt5_add_resources(

linux - CMAKE_PREFIX_PATH 没有帮助 CMake 找到 Qt5

来自这里:https://stackoverflow.com/a/28327499/462608我试过这个:cmake_minimum_required(VERSION2.8.12)project(qtquick_hello_cmake)set(CMAKE_PREFIX_PATH"/opt/Qt5.9.1/5.9.1/")set(CMAKE_INCLUDE_CURRENT_DIRON)set(CMAKE_AUTOMOCON)set(CMAKE_AUTORCCON)find_package(Qt5COMPONENTSQuickCoreREQUIRED)qt5_add_resources(