无法理解此特定的CmakeLists.txt
我正在尝试编译我的第一个VST插件。我做了一个测试,试图把它分解并理解它,自己重写它,然后编译它 我目前正在分解CmakeLists.txt文件。我遇到了一个我不明白的问题无法理解此特定的CmakeLists.txt,cmake,Cmake,我正在尝试编译我的第一个VST插件。我做了一个测试,试图把它分解并理解它,自己重写它,然后编译它 我目前正在分解CmakeLists.txt文件。我遇到了一个我不明白的问题 TARGET_LINK_LIBRARIES(gijzelijzer ${VSTSDK_LIBRARIES} ) 我不知道VST_LIBRARIES变量是什么。它不会在CmakeList.txt中的任何其他位置声明。这是一个坏掉的cmake文件,还是这里的语法有什么我不明白的地方。我只是不明白这里发生了什么 PROJ
TARGET_LINK_LIBRARIES(gijzelijzer
${VSTSDK_LIBRARIES}
)
我不知道VST_LIBRARIES变量是什么。它不会在CmakeList.txt中的任何其他位置声明。这是一个坏掉的cmake文件,还是这里的语法有什么我不明白的地方。我只是不明白这里发生了什么
PROJECT(GIJZELIJZER)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(CMAKE_COLOR_MAKEFILE ON)
IF (MSVC)
ADD_DEFINITIONS(/D _CRT_SECURE_NO_WARNINGS)
ENDIF()
#-------------------------------------------------------------------------------
# Find 3rd party libs
#-------------------------------------------------------------------------------
SET(VSTSDK_PATH ${GIJZELIJZER_SOURCE_DIR}/../vstsdk2.4 CACHE PATH "Path to the Steinberg VST SDK")
SET(VSTSDK_INCLUDE_DIR ${VSTSDK_PATH})
SET(VSTSDK_PLUGIN_SOURCE
${VSTSDK_PATH}/public.sdk/source/vst2.x/audioeffectx.cpp
${VSTSDK_PATH}/public.sdk/source/vst2.x/audioeffect.cpp
${VSTSDK_PATH}/public.sdk/source/vst2.x/vstplugmain.cpp
)
SET(VSTSDK_HOST_SOURCE
${VSTSDK_PATH}/pluginterfaces/vst2.x/aeffectx.cpp
)
#-------------------------------------------------------------------------------
# Set what to compile how
#-------------------------------------------------------------------------------
SET(GIJZELIJZER_SOURCE
src/gijzelijzer.cpp
src/gijzelijzer.h
src/gijzelijzermain.cpp
resources/gijzelijzer.rc
resources/vstplug.def
${VSTSDK_PLUGIN_SOURCE}
)
ADD_LIBRARY(gijzelijzer SHARED ${GIJZELIJZER_SOURCE})
#-------------------------------------------------------------------------------
# Include 3rd party library headers
#-------------------------------------------------------------------------------
INCLUDE_DIRECTORIES(
${VSTSDK_INCLUDE_DIR}
)
#-------------------------------------------------------------------------------
# Link libraries
#-------------------------------------------------------------------------------
TARGET_LINK_LIBRARIES(gijzelijzer
${VSTSDK_LIBRARIES}
)
是,变量
VSTSDK\u INCLUDE\u DIR
未在给定的CMakeLists.txt
中定义。可能是作者忘记了定义它,或者他想让用户通过cmake定义传递这个变量。请注意,cmake中未定义的变量会扩展为空字符串。因此,在本例中,调用target\u link\u库
将什么也不做,这可能是预期的行为,也可能不是预期的行为。