diff --git a/CMakeLists.txt b/CMakeLists.txt index 6afd1ffda44..b00d6bd32d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,22 @@ cmake_minimum_required(VERSION 3.2) project (CHAKRACORE) +# Keep CMake from caching static/shared library +# option. Otherwise, CMake fails to update cached +# references +if(SHARED_LIBRARY_SH) + unset(SHARED_LIBRARY_SH CACHE) + unset(STATIC_LIBRARY_SH CACHE) + unset(STATIC_LIBRARY CACHE) + set(SHARED_LIBRARY 1) +endif() + +if(STATIC_LIBRARY_SH) + unset(SHARED_LIBRARY_SH CACHE) + unset(STATIC_LIBRARY_SH CACHE) + unset(SHARED_LIBRARY CACHE) + set(STATIC_LIBRARY 1) +endif() function(clr_unknown_arch) if (WIN32) diff --git a/build.sh b/build.sh index f21488ece3c..74133bb2ee3 100755 --- a/build.sh +++ b/build.sh @@ -53,7 +53,7 @@ CMAKE_GEN= MAKE=make MULTICORE_BUILD="" ICU_PATH="" -STATIC_LIBRARY="" +STATIC_LIBRARY="-DSHARED_LIBRARY_SH=1" WITHOUT_FEATURES="" CREATE_DEB=0 @@ -125,7 +125,7 @@ while [[ $# -gt 0 ]]; do ;; --static) - STATIC_LIBRARY="-DSTATIC_LIBRARY=1" + STATIC_LIBRARY="-DSTATIC_LIBRARY_SH=1" ;; --without=*) @@ -244,7 +244,7 @@ else mkdir -p $DEB_FOLDER/usr/local/bin mkdir -p $DEB_FOLDER/DEBIAN cp $DEB_FOLDER/../ch $DEB_FOLDER/usr/local/bin/ - if [[ $STATIC_LIBRARY == "" ]]; then + if [[ $STATIC_LIBRARY == "-DSHARED_LIBRARY_SH=1" ]]; then cp $DEB_FOLDER/../*.so $DEB_FOLDER/usr/local/bin/ fi echo -e "Package: ChakraCore"\