CMakeLists.txt not in root directory, can't do an automatic build
I have an issue with a repository not having its CMakeLists in the root directory, namely https://github.com/lz4/lz4
The CMakeLists.txt is in the subfolder contrib/cmake_unofficial.
I already checked similar questions on SO (Is it possible to have cmake build file (CMakeLists.txt) not in root in CLion, cmake - CMakeLists.txt is not in root folder (but is included in source)), but they only provide alternatives, and not a solution applicable to my situation.
Heres the cmake module I came up with:
if(ENABLE_LZ4)
message(STATUS "Using LZ4.")
set(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -DENABLE_LZ4")
# Enable ExternalProject CMake module
include(ExternalProject)
set(LZ4_SOURCE_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
INSTALL_COMMAND ""
CMAKE_ARGS
$LZ4_SOURCE_DIR/contrib/cmake_unofficial
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
# Get lz4 source and binary directories from CMake project
ExternalProject_Get_Property(lz4 source_dir binary_dir)
# Create a liblz4 target to be used as a dependency by the program
add_library(liblz4 IMPORTED SHARED GLOBAL)
add_dependencies(liblz4 lz4)
include_directories(
$LZ4_SOURCE_DIR/lib
)
set(LZ4_LIB $LZ4_BINARY_DIR/liblz4.so)
else()
message(STATUS "Not using LZ4.")
set(LZ4_LIB "")
endif()
Here the complete error output:
[ 0%] Performing update step for 'lz4'
Current branch dev is up to date.
[ 1%] Performing configure step for 'lz4'
CMake Error: The source directory "/****/build/lz4" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMakeFiles/lz4.dir/build.make:105: recipe for target 'lz4-prefix/src/lz4-stamp/lz4-configure' failed
make[2]: *** [lz4-prefix/src/lz4-stamp/lz4-configure] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/lz4.dir/all' failed
make[1]: *** [CMakeFiles/lz4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
I tried adding the path 'contrib/cmake_unofficial' to the CMAKE_ARGS variable (as seen in the module above), but it does not work (seems to be ignored?).
I also tried using PATCH_COMMAND to copy the CMakeLists.txt to the root before the build starts, but the relative paths of the file get messed up.
In other words, i need the cmake command to be called to build the library to be : cmake contrib/cmake_unofficial.
I also tried using CONFIGURE_COMMAND for this, but keep getting a file not found error for some reason (even though the path is correct).
The module has some other issues too, but I'm only interested in the non-root CMakeLists.
Thanks in advance!
cmake lz4
add a comment |
I have an issue with a repository not having its CMakeLists in the root directory, namely https://github.com/lz4/lz4
The CMakeLists.txt is in the subfolder contrib/cmake_unofficial.
I already checked similar questions on SO (Is it possible to have cmake build file (CMakeLists.txt) not in root in CLion, cmake - CMakeLists.txt is not in root folder (but is included in source)), but they only provide alternatives, and not a solution applicable to my situation.
Heres the cmake module I came up with:
if(ENABLE_LZ4)
message(STATUS "Using LZ4.")
set(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -DENABLE_LZ4")
# Enable ExternalProject CMake module
include(ExternalProject)
set(LZ4_SOURCE_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
INSTALL_COMMAND ""
CMAKE_ARGS
$LZ4_SOURCE_DIR/contrib/cmake_unofficial
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
# Get lz4 source and binary directories from CMake project
ExternalProject_Get_Property(lz4 source_dir binary_dir)
# Create a liblz4 target to be used as a dependency by the program
add_library(liblz4 IMPORTED SHARED GLOBAL)
add_dependencies(liblz4 lz4)
include_directories(
$LZ4_SOURCE_DIR/lib
)
set(LZ4_LIB $LZ4_BINARY_DIR/liblz4.so)
else()
message(STATUS "Not using LZ4.")
set(LZ4_LIB "")
endif()
Here the complete error output:
[ 0%] Performing update step for 'lz4'
Current branch dev is up to date.
[ 1%] Performing configure step for 'lz4'
CMake Error: The source directory "/****/build/lz4" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMakeFiles/lz4.dir/build.make:105: recipe for target 'lz4-prefix/src/lz4-stamp/lz4-configure' failed
make[2]: *** [lz4-prefix/src/lz4-stamp/lz4-configure] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/lz4.dir/all' failed
make[1]: *** [CMakeFiles/lz4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
I tried adding the path 'contrib/cmake_unofficial' to the CMAKE_ARGS variable (as seen in the module above), but it does not work (seems to be ignored?).
I also tried using PATCH_COMMAND to copy the CMakeLists.txt to the root before the build starts, but the relative paths of the file get messed up.
In other words, i need the cmake command to be called to build the library to be : cmake contrib/cmake_unofficial.
I also tried using CONFIGURE_COMMAND for this, but keep getting a file not found error for some reason (even though the path is correct).
The module has some other issues too, but I'm only interested in the non-root CMakeLists.
Thanks in advance!
cmake lz4
add a comment |
I have an issue with a repository not having its CMakeLists in the root directory, namely https://github.com/lz4/lz4
The CMakeLists.txt is in the subfolder contrib/cmake_unofficial.
I already checked similar questions on SO (Is it possible to have cmake build file (CMakeLists.txt) not in root in CLion, cmake - CMakeLists.txt is not in root folder (but is included in source)), but they only provide alternatives, and not a solution applicable to my situation.
Heres the cmake module I came up with:
if(ENABLE_LZ4)
message(STATUS "Using LZ4.")
set(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -DENABLE_LZ4")
# Enable ExternalProject CMake module
include(ExternalProject)
set(LZ4_SOURCE_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
INSTALL_COMMAND ""
CMAKE_ARGS
$LZ4_SOURCE_DIR/contrib/cmake_unofficial
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
# Get lz4 source and binary directories from CMake project
ExternalProject_Get_Property(lz4 source_dir binary_dir)
# Create a liblz4 target to be used as a dependency by the program
add_library(liblz4 IMPORTED SHARED GLOBAL)
add_dependencies(liblz4 lz4)
include_directories(
$LZ4_SOURCE_DIR/lib
)
set(LZ4_LIB $LZ4_BINARY_DIR/liblz4.so)
else()
message(STATUS "Not using LZ4.")
set(LZ4_LIB "")
endif()
Here the complete error output:
[ 0%] Performing update step for 'lz4'
Current branch dev is up to date.
[ 1%] Performing configure step for 'lz4'
CMake Error: The source directory "/****/build/lz4" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMakeFiles/lz4.dir/build.make:105: recipe for target 'lz4-prefix/src/lz4-stamp/lz4-configure' failed
make[2]: *** [lz4-prefix/src/lz4-stamp/lz4-configure] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/lz4.dir/all' failed
make[1]: *** [CMakeFiles/lz4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
I tried adding the path 'contrib/cmake_unofficial' to the CMAKE_ARGS variable (as seen in the module above), but it does not work (seems to be ignored?).
I also tried using PATCH_COMMAND to copy the CMakeLists.txt to the root before the build starts, but the relative paths of the file get messed up.
In other words, i need the cmake command to be called to build the library to be : cmake contrib/cmake_unofficial.
I also tried using CONFIGURE_COMMAND for this, but keep getting a file not found error for some reason (even though the path is correct).
The module has some other issues too, but I'm only interested in the non-root CMakeLists.
Thanks in advance!
cmake lz4
I have an issue with a repository not having its CMakeLists in the root directory, namely https://github.com/lz4/lz4
The CMakeLists.txt is in the subfolder contrib/cmake_unofficial.
I already checked similar questions on SO (Is it possible to have cmake build file (CMakeLists.txt) not in root in CLion, cmake - CMakeLists.txt is not in root folder (but is included in source)), but they only provide alternatives, and not a solution applicable to my situation.
Heres the cmake module I came up with:
if(ENABLE_LZ4)
message(STATUS "Using LZ4.")
set(CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS -DENABLE_LZ4")
# Enable ExternalProject CMake module
include(ExternalProject)
set(LZ4_SOURCE_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
INSTALL_COMMAND ""
CMAKE_ARGS
$LZ4_SOURCE_DIR/contrib/cmake_unofficial
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
# Get lz4 source and binary directories from CMake project
ExternalProject_Get_Property(lz4 source_dir binary_dir)
# Create a liblz4 target to be used as a dependency by the program
add_library(liblz4 IMPORTED SHARED GLOBAL)
add_dependencies(liblz4 lz4)
include_directories(
$LZ4_SOURCE_DIR/lib
)
set(LZ4_LIB $LZ4_BINARY_DIR/liblz4.so)
else()
message(STATUS "Not using LZ4.")
set(LZ4_LIB "")
endif()
Here the complete error output:
[ 0%] Performing update step for 'lz4'
Current branch dev is up to date.
[ 1%] Performing configure step for 'lz4'
CMake Error: The source directory "/****/build/lz4" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMakeFiles/lz4.dir/build.make:105: recipe for target 'lz4-prefix/src/lz4-stamp/lz4-configure' failed
make[2]: *** [lz4-prefix/src/lz4-stamp/lz4-configure] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/lz4.dir/all' failed
make[1]: *** [CMakeFiles/lz4.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
I tried adding the path 'contrib/cmake_unofficial' to the CMAKE_ARGS variable (as seen in the module above), but it does not work (seems to be ignored?).
I also tried using PATCH_COMMAND to copy the CMakeLists.txt to the root before the build starts, but the relative paths of the file get messed up.
In other words, i need the cmake command to be called to build the library to be : cmake contrib/cmake_unofficial.
I also tried using CONFIGURE_COMMAND for this, but keep getting a file not found error for some reason (even though the path is correct).
The module has some other issues too, but I'm only interested in the non-root CMakeLists.
Thanks in advance!
cmake lz4
cmake lz4
edited Nov 12 at 12:18
asked Nov 12 at 11:14
Tasche
305
305
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
ExternalProject
separates download and source directories:
DOWNLOAD_DIR
- a directory where downloading step is performedSOURCE_DIR
- a directory used as a source one when configuration step is performed
When use git
for extract the project, note that git clone
is called from the download directory, where it creates new directory with a project sources.
set(LZ4_DOWNLOAD_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
# Set a source dir based on the download one.
set(LZ4_SOURCE_DIR $LZ4_DOWNLOAD_DIR/lz4/contrib/cmake_unofficial)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
DOWNLOAD_DIR $LZ4_DOWNLOAD_DIR # Set download directory explicitely
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
...
)
Thanks for the answer, I actually also tried that, i.e. usingDOWNLOAD_DIR
.
– Tasche
Nov 13 at 8:46
Edit: What happened, is thatSOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.
– Tasche
Nov 13 at 8:54
add a comment |
Probably not the correct way to do it, but this seems to work for me.
I used the CONFIGURE_COMMAND
to call cmake on the correct directory.
Then use BUILD_COMMAND
to call make
So essentially, it breaks down to this:
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
CONFIGURE_COMMAND cmake $LZ4_SOURCE_DIR/contrib/cmake_unofficial
BUILD_COMMAND make
INSTALL_COMMAND ""
CMAKE_ARGS
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53260989%2fcmakelists-txt-not-in-root-directory-cant-do-an-automatic-build%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
ExternalProject
separates download and source directories:
DOWNLOAD_DIR
- a directory where downloading step is performedSOURCE_DIR
- a directory used as a source one when configuration step is performed
When use git
for extract the project, note that git clone
is called from the download directory, where it creates new directory with a project sources.
set(LZ4_DOWNLOAD_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
# Set a source dir based on the download one.
set(LZ4_SOURCE_DIR $LZ4_DOWNLOAD_DIR/lz4/contrib/cmake_unofficial)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
DOWNLOAD_DIR $LZ4_DOWNLOAD_DIR # Set download directory explicitely
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
...
)
Thanks for the answer, I actually also tried that, i.e. usingDOWNLOAD_DIR
.
– Tasche
Nov 13 at 8:46
Edit: What happened, is thatSOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.
– Tasche
Nov 13 at 8:54
add a comment |
ExternalProject
separates download and source directories:
DOWNLOAD_DIR
- a directory where downloading step is performedSOURCE_DIR
- a directory used as a source one when configuration step is performed
When use git
for extract the project, note that git clone
is called from the download directory, where it creates new directory with a project sources.
set(LZ4_DOWNLOAD_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
# Set a source dir based on the download one.
set(LZ4_SOURCE_DIR $LZ4_DOWNLOAD_DIR/lz4/contrib/cmake_unofficial)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
DOWNLOAD_DIR $LZ4_DOWNLOAD_DIR # Set download directory explicitely
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
...
)
Thanks for the answer, I actually also tried that, i.e. usingDOWNLOAD_DIR
.
– Tasche
Nov 13 at 8:46
Edit: What happened, is thatSOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.
– Tasche
Nov 13 at 8:54
add a comment |
ExternalProject
separates download and source directories:
DOWNLOAD_DIR
- a directory where downloading step is performedSOURCE_DIR
- a directory used as a source one when configuration step is performed
When use git
for extract the project, note that git clone
is called from the download directory, where it creates new directory with a project sources.
set(LZ4_DOWNLOAD_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
# Set a source dir based on the download one.
set(LZ4_SOURCE_DIR $LZ4_DOWNLOAD_DIR/lz4/contrib/cmake_unofficial)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
DOWNLOAD_DIR $LZ4_DOWNLOAD_DIR # Set download directory explicitely
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
...
)
ExternalProject
separates download and source directories:
DOWNLOAD_DIR
- a directory where downloading step is performedSOURCE_DIR
- a directory used as a source one when configuration step is performed
When use git
for extract the project, note that git clone
is called from the download directory, where it creates new directory with a project sources.
set(LZ4_DOWNLOAD_DIR $CMAKE_CURRENT_BINARY_DIR/lz4)
# Set a source dir based on the download one.
set(LZ4_SOURCE_DIR $LZ4_DOWNLOAD_DIR/lz4/contrib/cmake_unofficial)
set(LZ4_BINARY_DIR $CMAKE_CURRENT_BINARY_DIR/lib)
# Download and install lz4
ExternalProject_Add(
lz4
DOWNLOAD_DIR $LZ4_DOWNLOAD_DIR # Set download directory explicitely
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
...
)
answered Nov 12 at 14:55
Tsyvarev
25.5k42558
25.5k42558
Thanks for the answer, I actually also tried that, i.e. usingDOWNLOAD_DIR
.
– Tasche
Nov 13 at 8:46
Edit: What happened, is thatSOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.
– Tasche
Nov 13 at 8:54
add a comment |
Thanks for the answer, I actually also tried that, i.e. usingDOWNLOAD_DIR
.
– Tasche
Nov 13 at 8:46
Edit: What happened, is thatSOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.
– Tasche
Nov 13 at 8:54
Thanks for the answer, I actually also tried that, i.e. using
DOWNLOAD_DIR
.– Tasche
Nov 13 at 8:46
Thanks for the answer, I actually also tried that, i.e. using
DOWNLOAD_DIR
.– Tasche
Nov 13 at 8:46
Edit: What happened, is that
SOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.– Tasche
Nov 13 at 8:54
Edit: What happened, is that
SOURCE_DIR
still seemed to override that, and the repo was cloned into .../contrib/cmake_unofficial instead.– Tasche
Nov 13 at 8:54
add a comment |
Probably not the correct way to do it, but this seems to work for me.
I used the CONFIGURE_COMMAND
to call cmake on the correct directory.
Then use BUILD_COMMAND
to call make
So essentially, it breaks down to this:
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
CONFIGURE_COMMAND cmake $LZ4_SOURCE_DIR/contrib/cmake_unofficial
BUILD_COMMAND make
INSTALL_COMMAND ""
CMAKE_ARGS
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
add a comment |
Probably not the correct way to do it, but this seems to work for me.
I used the CONFIGURE_COMMAND
to call cmake on the correct directory.
Then use BUILD_COMMAND
to call make
So essentially, it breaks down to this:
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
CONFIGURE_COMMAND cmake $LZ4_SOURCE_DIR/contrib/cmake_unofficial
BUILD_COMMAND make
INSTALL_COMMAND ""
CMAKE_ARGS
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
add a comment |
Probably not the correct way to do it, but this seems to work for me.
I used the CONFIGURE_COMMAND
to call cmake on the correct directory.
Then use BUILD_COMMAND
to call make
So essentially, it breaks down to this:
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
CONFIGURE_COMMAND cmake $LZ4_SOURCE_DIR/contrib/cmake_unofficial
BUILD_COMMAND make
INSTALL_COMMAND ""
CMAKE_ARGS
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
Probably not the correct way to do it, but this seems to work for me.
I used the CONFIGURE_COMMAND
to call cmake on the correct directory.
Then use BUILD_COMMAND
to call make
So essentially, it breaks down to this:
ExternalProject_Add(
lz4
GIT_REPOSITORY https://github.com/lz4/lz4.git
GIT_TAG dev
SOURCE_DIR $LZ4_SOURCE_DIR
BINARY_DIR $LZ4_BINARY_DIR
CONFIGURE_COMMAND cmake $LZ4_SOURCE_DIR/contrib/cmake_unofficial
BUILD_COMMAND make
INSTALL_COMMAND ""
CMAKE_ARGS
-DCMAKE_C_COMPILER=$CMAKE_C_COMPILER
)
edited Nov 13 at 8:50
answered Nov 12 at 12:52
Tasche
305
305
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53260989%2fcmakelists-txt-not-in-root-directory-cant-do-an-automatic-build%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown