Is it possible that there is missing something that allows to find BCL::NodeJSSocket when rerunning configuration step for sapfor in a dev container?
I get this at the beginning of the command, but the autodetection of clang features continue either way, but the configure step fails, and can't continue building.
root ➜ /workspaces/sapfor/build (download-cmake) $ cmake .. -C ../CMakeCache.in -DPTS_EXECUTABLE=/repo/pts/bin/pts.pl -DLLVM_PROJECT_DIR=/workspaces/root/llvm-project -DBUILD_LINK=ON -DBUILD_CLANG=ON -DBUILD_PROFILE=ON -DBCL_NODEJS_SOCKET=ON
loading initial cache file ../CMakeCache.in
-- Perl version: 5.30.0
CMake Error at build/bcl/bcl/BCLConfig.cmake:54 (get_property):
get_property could not find TARGET BCL::NodeJSSocket. Perhaps it has not
yet been created.
Call Stack (most recent call first):
analyzers/tsar/CMakeLists.txt:47 (find_package)
I'm not an expert with CMake yet, but I understand from the file bcl/cmake/BCLConfig.cmake.in near lines 54-55 that the target BCL::NodeJSSocket does not seem to be defined like in the "else" branch of the same if.
|
get_property(BCL_NODEJS_SOCKET_SOURCES TARGET BCL::NodeJSSocket |
|
PROPERTY INTERFACE_SOURCES) |
At lines 64-66, there is an alias that defines BCL::NodeJSSocket
|
if(BCL_NODEJS_SOCKET) |
|
add_library(BCL::NodeJSSocket ALIAS NodeJSSocket) |
|
endif() |
|
if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/BCLExports.cmake) |
|
# ON if BCLExports.cmake is available. |
|
set(BCL_EXPORT ON) |
|
|
|
include(${CMAKE_CURRENT_LIST_DIR}/BCLExports.cmake) |
|
|
|
# List of headers from the core of BCL. |
|
get_property(BCL_CORE_HEADERS TARGET BCL::Core PROPERTY INTERFACE_SOURCES) |
|
|
|
# List of sources from NodeJSSocket (if NodeJSSocket is available). |
|
if(BCL_NODEJS_SOCKET) |
|
get_property(BCL_NODEJS_SOCKET_SOURCES TARGET BCL::NodeJSSocket |
|
PROPERTY INTERFACE_SOURCES) |
|
endif() |
|
else() |
|
# OFF if BCLExports.cmake is not available. For example, if add_subdirectory() |
|
# has been used to add this project to the build tree. |
|
set(BCL_EXPORT OFF) |
|
|
|
add_library(BCL::Core ALIAS Core) |
|
|
|
if(BCL_NODEJS_SOCKET) |
|
add_library(BCL::NodeJSSocket ALIAS NodeJSSocket) |
|
endif() |
|
|
|
# Try to set some variables which is available in BCL build tree. So, the |
|
# following variables will be available if add_subdirectory() has been used |
|
# configure this project. |
|
|
|
# List of headers from the core of BCL. |
|
set(BCL_CORE_HEADERS @BCL_CORE_HEADERS@) |
|
|
|
# List of sources from NodeJSSocket (if NodeJSSocket is available). |
|
if(BCL_NODEJS_SOCKET) |
|
set(BCL_NODEJS_SOCKET_SOURCES @BCL_NODEJS_SOCKET_SOURCES@) |
|
endif() |
|
endif() |
If I add add_library(BCL::NodeJSSocket ALIAS NodeJSSocket) just before get_property(BCL_NODEJS_SOCKET_SOURCES TARGET BCL::NodeJSSocket PROPERTY INTERFACE_SOURCES)
like so:
# List of sources from NodeJSSocket (if NodeJSSocket is available).
if(BCL_NODEJS_SOCKET)
add_library(BCL::NodeJSSocket ALIAS NodeJSSocket)
get_property(BCL_NODEJS_SOCKET_SOURCES TARGET BCL::NodeJSSocket
PROPERTY INTERFACE_SOURCES)
endif()
I seem to be able to get past that configure error, and I'm still waiting to finish building.
Is it a real solution, or does it have some undesired effects?
Is it possible that there is missing something that allows to find
BCL::NodeJSSocketwhen rerunning configuration step for sapfor in a dev container?I get this at the beginning of the command, but the autodetection of clang features continue either way, but the configure step fails, and can't continue building.
I'm not an expert with CMake yet, but I understand from the file
bcl/cmake/BCLConfig.cmake.innear lines 54-55 that the targetBCL::NodeJSSocketdoes not seem to be defined like in the "else" branch of the same if.bcl/cmake/BCLConfig.cmake.in
Lines 54 to 55 in 028188e
At lines 64-66, there is an alias that defines
BCL::NodeJSSocketbcl/cmake/BCLConfig.cmake.in
Lines 64 to 66 in 028188e
bcl/cmake/BCLConfig.cmake.in
Lines 43 to 79 in 028188e
If I add
add_library(BCL::NodeJSSocket ALIAS NodeJSSocket)just beforeget_property(BCL_NODEJS_SOCKET_SOURCES TARGET BCL::NodeJSSocket PROPERTY INTERFACE_SOURCES)like so:
I seem to be able to get past that configure error, and I'm still waiting to finish building.
Is it a real solution, or does it have some undesired effects?