Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CMake install target #16

Open
harens opened this issue Nov 7, 2020 · 0 comments
Open

Add CMake install target #16

harens opened this issue Nov 7, 2020 · 0 comments

Comments

@harens
Copy link
Contributor

harens commented Nov 7, 2020

I understand that make install is not in the build instructions, and that install is not a required target, but I think it is a useful one to have. For instance:

  • A user might want to install CipheyCore to a local space
  • It makes it easier to write scripts for many package managers
  • Also easier to use the library after building from source
  • Running make install currently results in the error make: *** No rule to make target 'install'. Stop.

The issue for me was that the DESTDIR variable is used as part of MacPorts to provide a staged install process via make install DESTDIR=/tmp/example. It would be helpful if an install target could be added, although I'd also be grateful for any alternative methods.

Thanks for your help.

To reproduce error
macOS 10.15.6 19G73

xcode-select version 2373

git clone https://github.com/Ciphey/CipheyCore
cd CipheyCore
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCIPHEY_CORE_TEST=OFF
cmake --build . -t ciphey_core
make install
Output
cmake .. -DCMAKE_BUILD_TYPE=Release -DCIPHEY_CORE_TEST=OFF
-- The C compiler identification is AppleClang 11.0.3.11030032
-- The CXX compiler identification is AppleClang 11.0.3.11030032
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0")  
-- Found Python3: /opt/local/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 (found version "3.9.0") found components: Development Development.Module Development.Embed 
-- Found SWIG: /opt/local/bin/swig (found version "4.0.2")  
CMake Warning (dev) at /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:634 (message):
  Policy CMP0078 is not set: UseSWIG generates standard target names.  Run
  "cmake --help-policy CMP0078" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

Call Stack (most recent call first):
  CMakeLists.txt:55 (swig_add_library)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:486 (message):
  Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
  flag.  Run "cmake --help-policy CMP0086" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:736 (SWIG_ADD_SOURCE_TO_MODULE)
  CMakeLists.txt:55 (swig_add_library)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/CipheyCore/build
cmake --build . -t ciphey_core
Scanning dependencies of target ciphey_core
[ 14%] Building CXX object CMakeFiles/ciphey_core.dir/src/ausearch.cpp.o
[ 28%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/caesar.cpp.o
[ 42%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/vigenere.cpp.o
[ 57%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/xor_single.cpp.o
[ 71%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/xorcrypt.cpp.o
[ 85%] Building CXX object CMakeFiles/ciphey_core.dir/src/freq.cpp.o
[100%] Linking CXX static library libciphey_core.a
[100%] Built target ciphey_core
make install (ERROR)
make: *** No rule to make target `install'.  Stop.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant