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

Update dist to include VS files and update docs #71

Merged
merged 2 commits into from Dec 15, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 1 addition & 2 deletions .travis.yml
Expand Up @@ -6,8 +6,7 @@ compiler:

before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq cpanminus
- sudo cpanm IPC::Run3
- sudo apt-get install -qq libipc-run3-perl

before_script:
- ./bootstrap
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Expand Up @@ -10,7 +10,7 @@ SUBDIRS = \
bin \
t

EXTRA_DIST = doc t Changes.md LICENSE NOTICE README.md
EXTRA_DIST = doc t Changes.md LICENSE NOTICE README.md projects/VS12 projects/VS12-tests
dist-hook:
dev-bin/make-man-pages.pl $(distdir)
find $(distdir) -name '.git*' | xargs rm -fr
Expand Down
10 changes: 8 additions & 2 deletions README.md
Expand Up @@ -15,7 +15,7 @@ See http://dev.maxmind.com/ for more details about MaxMind's GeoIP2 products.

This library is licensed under the Apache License, Version 2.

# Installing from a Tarball
# Building and installing from a Tarball

This code is known to work with GCC 4.4+ and clang 3.2+. It should also work
on other compilers that supports C99, POSIX 2011.11, and the `-fms-extensions
Expand Down Expand Up @@ -44,7 +44,7 @@ can do this by running the following commands:
$ sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf"
$ ldconfig

# Installing from the Git Repository
# Building from the Git Repository

To install from Git, you will need automake, autoconf, and libtool installed
in addition to make and a compiler.
Expand All @@ -59,6 +59,12 @@ You can clone this repository and build it by running:
After cloning, run `./bootstrap` from the `libmaxminddb directory and then
follow the instructions for installing from a tarball as described above.

# Building with Visual Studio 2013+

We provide a Visual Studio solution in `projects\VS12`. This can be used to
build both the the library and the tests. Please see the `README.md` file in
the same directory for more information.

# Installing via Homebrew (on OS X)

If you are on OS X and you have homebrew (see http://brew.sh/) you can install
Expand Down
17 changes: 12 additions & 5 deletions projects/VS12/README → projects/VS12/README.md
@@ -1,11 +1,11 @@
Project Notes
# Project Notes

DO NOT modify project settings for each configuration and/or platform
on a per-project basis. Use property sheets to set shared configuration
properties. The rule of thumb - if you set same value for the same
property in more than one configuration or platform, you did it wrong.

libmaxminddb.props
## libmaxminddb.props

This is the base property sheet for libMaxMindDB project. It contains
settings that are shared between all configurations, such as compiler
Expand All @@ -15,21 +15,21 @@ In order to minimize the number of property sheet files, this propery
sheet also contains settings for Win32 and Debug configurations, which
are overridden by the x64 and Release property sheets described below.

libmaxminddb-release.props
## libmaxminddb-release.props

This property sheet contains all Release settings and is shared between
Win32 and x64 release builds. It must be located higher than the base
property sheet in the property Manager window for each configuration
where it's used (i.e. Release|Win32 and Release|x64).

libmaxminddb-x64.props
## libmaxminddb-x64.props

This property sheet contains all x64 settings and is shared between all
Debug and Release x64 configurations. It must be located higher than the
base property sheet in the property Manager window for each configuration
where it's used (i.e. Debug|x64 and Release|x64).

Adding More Projects
## Adding More Projects

If you want to add more projects into this solution, follow the same logic
and create their own property sheets. Do not use libmaxminddb property
Expand All @@ -50,3 +50,10 @@ each library file's property to assign them to the proper build confguration.
Unused libraries will be shown with a traffic stop sign in each configuration.
If you have a lot of projects, it might be easier to do this by editing .vcxproj
and .vcxproj.filters in a text editor.

# Tests

To use the tests, you must download the `libtap` and `maxmind-db` submodules.
This can be done by running `git submodule update --init --recursive` from
the Git checkout. Each test source file has a separate project. Once compiled,
the tests must be run from the base directory of the checkout.